266 UTL_LMS
UTL_LMS
は、様々な言語でエラー・メッセージを取り出して書式指定します。
この章のトピックは、次のとおりです:
266.2 UTL_LMSサブプログラムの要約
この表は、UTL_LMS
サブプログラムを示し、簡単に説明しています。
表266-1 UTL_LMSパッケージのサブプログラム
ファンクション | 説明 |
---|---|
取り出したエラー・メッセージの書式を設定します。 |
|
指定されたエラー番号、製品、機能、言語およびメッセージを基にしてエラー・メッセージを取り出します。 |
266.2.1 FORMAT_MESSAGEファンクション
このファンクションは、GET_MESSAGE
ファンクションで取り出したメッセージの書式を設定し、それを戻します。このファンクションが失敗すると、結果としてNULL
が戻されます。
次の表に、format文字列で使用できる特殊文字を示します。
特殊文字 | 説明 |
---|---|
|
次の文字列引数を代入します。 |
|
次の整数引数を代入します。 |
|
特殊文字 |
構文
UTL_LMS.FORMAT_MESSAGE ( format IN VARCHAR2 CHARACTER SET ANY_CS, args IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL) RETURN VARCHAR2 CHARACTER SET format%CHARSET;
パラメータ
表266-2 FORMAT_MESSAGEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
書式設定する文字列を指定します。 |
|
引数のリストを指定します。 |
例
DECLARE s varchar2(200); i pls_integer; BEGIN i:= utl_lms.get_message(26052, 'rdbms', 'ora', 'french', s); dbms_output.put_line('before format, message is: '||s); dbms_output.put_line('formatted message is: '||utl_lms.format_message(s, 9, 'my_column_name'); END; /
次の例は書式設定する前のメッセージです。
Type %d non pris en charge pour l'expression SQL sur la colonne %s.
次の例は書式設定した後のメッセージです。
Type 9 non pris en charge pour l'expression SQL sur la colonne my_column_name.
266.2.2 GET_MESSAGEファンクション
このファンクションは、Oracleのエラー・メッセージを取り出します。ユーザーは、lmsgen
ユーティリティを使用して、ユーザー固有のエラー・メッセージを定義できます。
これが成功すると、0
が戻されます。失敗すると、-1
が戻されます。
参照:
lmsgen
ユーティリティの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
構文
UTL_LMS.GET_MESSAGE ( errnum IN PLS_INTEGER, product IN VARCHAR2, facility IN VARCHAR2, language IN VARCHAR2, message OUT NOCOPY VARCHAR2CHARCTER SET ANY_CS) RETURN PLS_INTEGER;
パラメータ
表266-3 GET_MESSAGEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
エラー番号を指定します。 例: |
|
エラー・メッセージが適用される製品を指定します。 例: ' |
|
エラー・メッセージの接頭辞を指定します。 例: |
|
メッセージの言語を指定します。このパラメータでは大文字と小文字は区別されません。デフォルトは |
|
取り出したメッセージの出力バッファを指定します。 |
使用上のノート
language
パラメータをNULL
に設定すると、NLS_LANGUAGE
セッションのパラメータの値がデフォルトとして使用されます。
例
DECLARE s varchar2(200); i pls_integer; BEGIN i:=utl_lms.get_message(601, 'rdbms', 'oci', 'french', s); dbms_output.put_line('OCI--00601 is: '||s); END /
出力結果は、次のようになります。
OCI--00601 is: Echec du processus de nettoyage.