sqlstate出力文字列の最初の5文字は'ccsss'という形式です。ccはクラス、sssはサブクラスです。この文字列の最後の文字は2進ゼロ(Cの文字列終了文字)です。UDFがSQLSTATE結果コードとして戻すことのできるより実用的で有効な設定値のいくつかを次のテーブルに示します。
| カテゴリ | クラス | 条件 | サブクラス | サブ条件 |
|---|---|---|---|---|
| 成功 | 00 | エラーなし | 000 | なし。 |
| 02 | データなし | 000 | なし。 | |
| 警告 | 01 | 警告 | H xx | 外部ルーチンによる警告。 xxの値はプログラマによって指定されます。 |
| 例外 | 38 | 外部ルーチン例外 | 000 | なし。 |
| 002 | 述部に対して無効な戻り値。 | |||
| 39 | 外部ルーチン呼び出し例外 | 000 | なし。 | |
| 001 | 無効なSQLSTATE戻り値。このエラーは、関数が不正なSQLSTATEを戻したことを示しています。 | |||
| 002 | NULL値使用不可。 | |||
| 22 | データ例外 | 000 | なし。 | |
| 021 | レパートリーにない文字。 | |||
| 008 | 日時フィールドのオーバーフロー。 | |||
| 012 | 0による除算。 | |||
| 005 | 代入エラー。 | |||
| 022 | インジケータ オーバーフロー。 | |||
| 015 | インターバル フィールドのオーバーフロー。 | |||
| 018 | 無効な日付時刻の形式。 | |||
| 019 | 無効なエスケープ文字。 | |||
| 025 | 無効なエスケープ シーケンス。 | |||
| 010 | 無効なインジケータ パラメータ値。 | |||
| 020 | 無効な制限値。 | |||
| 023 | 無効なパラメータ値。 | |||
| 002 | NULL値、インジケータ パラメータなし。 | |||
| 003 | 範囲外の数値。 | |||
| 004 | NULL値使用不可。 | |||
| 026 | 文字列データ長の不一致。 | |||
| 001 | 文字列データの右側切り捨て。 | |||
| 027 | トリム エラー。 | |||
| 024 | C文字列の終了文字欠落。 | |||
| 00F | 長さ0のC文字列。 | |||
| U0 | ユーザー定義のデータ例外 | xxx | ユーザー定義の例外。 xxxの値はプログラマによって指定されます。 |