SET CURRENT LOCALE LC_MESSAGES ステートメント
SET CURRENT LOCALE LC_MESSAGES ステートメントは、CURRENT LOCALE LC_MESSAGES 特殊レジスターの値を変更します。
このステートメントは、トランザクションの制御下にありません。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、あるいは対話式に発行することができます。このステートメントは、動的に作成できる実行可能ステートメントです。
許可
必要ありません。
構文
説明
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)
