ANSI SQL:2011規格は、状況コード メッセージを受け入れるSQLSTATEという名前の戻りコード変数を定義しています。すべての条件メッセージは、この変数に標準ASCII文字列形式で返されます。
すべてのSQLSTATEメッセージの長さは5文字です。最初の2文字はメッセージ クラスを定義し、最後の3文字はメッセージ サブクラスを定義します。
例えば、SQLSTATE戻りコード'22021'の場合を考察します。このメッセージのクラス22は、データ例外条件を示します。サブクラス021は、定義済みの目録に含まれていない文字が検出されたことを示します。
SQL警告はしリクエストをアボートないが、SQL例外はリクエスト アボートをしたことに注意する必要があります。
UDFが常に有効なSQLSTATEコードを返すことを確認してください。Teradata Databaseは、SQL UDFによって返されるSQLSTATE値を同等のSQLCODE値にマップしません。SQL UDFによって生成されるすべてのSQLSTATEコードは、以下の表が示すとおり、Teradata Databaseのメッセージに明示的にマップされます。
UDFが返すSQL戻りコードのタイプ | システムがそのコードをマップするエラー メッセージ | 表示する形式 |
---|---|---|
警告 | 7505 | *** Warning 7505 in dbname.udfname: SQLSTATE 01Hxx: |
例外 | 7504 | *** Error 7504 in dbname.udfname: SQLSTATE U0xxx: |
SQLの例外および警告コードの詳細について、<Teradata Vantage™ - SQLの基本、B035-1141>を参照してください。
SQLSTATEおよびSQLCODEの結果コードの詳細について、<Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。