SET CURRENT LOCALE LC_MESSAGES ステートメント

SET CURRENT LOCALE LC_MESSAGES ステートメントは、CURRENT LOCALE LC_MESSAGES 特殊レジスターの値を変更します。

このステートメントは、トランザクションの制御下にありません。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。このステートメントは、動的に作成できる実行可能ステートメントです。

許可

必要ありません。

構文

構文図を読む構文図をスキップするSETCURRENT LOCALE LC_MESSAGES= host-variablestring-constant

説明

CURRENT LOCALE LC_MESSAGES 特殊レジスターは、monreport モジュール内のモニター・ルーチンと EVMON_UPGRADE_TABLES によって使用されるロケールを特定します。EVMON_UPGRADE_TABLES およびモニター・ルーチンでは、CURRENT LOCALE LC_MESSAGES の値を使用して、結果セットのテキスト出力を返す際の言語を決定します。 また、メッセージを戻すようコーディングされたユーザー定義ルーチンでも、CURRENT LOCALE LC_MESSAGES の値を使ってメッセージ・テキストの言語を決定することができます。

host-variable
タイプ CHAR または VARCHAR の変数です。 NULL に設定することはできません。
string-constant
文字ストリング定数です。

  • 初期値: CURRENT LOCALE LC_MESSAGES 特殊レジスターの初期値は 'en_US' です。
  • 言語の使用可能性: ロケールの言語をデータベース・マネージャーで使用できない場合、メッセージは英語で戻されます。
  • コード・ページ互換性: 指定されるロケールの言語は、メッセージ・テキスト情報を戻す際の言語を決定するために特殊レジスターを使用するルーチンの出力パラメーターまたは戻りタイプのコード・ページによってサポートされる必要があります。 データベースが Unicode データベースでない場合 (しかも PARAMETER CCSID UNICODE を使ってルーチンが作成されなかった場合)、ロケールの言語のいくつかの文字をデータベース・コード・ページで表記できなければ、コード・ページ変換の結果として置換文字が戻されます。
  • 将来の使用の可能性: 今後のリリースでは、メッセージが扱われるデータベース環境の他の領域においても CURRENT LOCALE LC_MESSAGES 特殊レジスターの値が使用される可能性があります。
  • 有効なロケールと命名: 有効なロケールとその命名については、『SQL および XQuery のロケール名』を参照してください。

  • 例 1: 以下のステートメントは、データベース・マネージャーで使用可能な最新バージョンの Common Locale Data Repository (CLDR) を使用して、CURRENT LOCALE LC_MESSAGES 特殊レジスターを英語 (カナダ) ロケールに設定します。
       SET CURRENT LOCALE LC_MESSAGES = 'en_CA'   
  • 例 2: 以下のステートメントは、Common Locale Data Repository (CLDR) バージョン 1.5 を使用して、CURRENT LOCALE LC_MESSAGES 特殊レジスターをフランス語 (フランス) ロケールに設定します。 その後、monreport モジュール内の CONNECTION ルーチンが呼び出されて出力がフランス語で戻されます。
       SET CURRENT LOCALE LC_MESSAGES = 'CLDR 1.5:fr_FR'
       CALL MONREPORT.CONNECTION
  • 例 3: ユーザー定義プロシージャー XYZ.STORELOCATOR が入力として郵便番号を受け入れるとします。 入力された郵便番号から車で 30 分以内の範囲にある XYZ 会社の店舗が結果セットとして戻されます。 郵便番号の形式が正しくない場合、形式の問題を示すエラー・メッセージが戻されます。 このプロシージャーは、CURRENT LOCALE LC_MESSAGES 特殊レジスターの値によって決定される言語でエラー・メッセージを戻すことができるようにコーディングされています。 以下のステートメントは、CURRENT LOCALE LC_MESSAGES 特殊レジスターをスペイン語 (メキシコ) ロケールに設定します。 その後、店舗ロケーター・ユーザー定義プロシージャーが呼び出されて、スペイン語でエラー・メッセージが戻されます。
       SET CURRENT LOCALE LC_MESSAGES = 'es_MX'
       CALL XYZ.STORELOCATOR(:ZIP, :STATUSMSG)