SQLSTATE
Db2 は、各 SQL ステートメント (GET DIAGNOSTICS またはコンパウンド・ステートメントを除く) が実行された後に SQLSTATE を設定します。 Db2 は、SQL 標準内のエラー指定に準拠する値を返します。 したがって、アプリケーション・プログラムは、SQLCODE の代わりに SQLSTATE をテストすることにより、SQL ステートメントの実行を検査できます。
SQLSTATE は、共通のエラー状態については共通のコードを アプリケーション・プログラムに提供します (SQLSTATE の値が製品固有の値となるのは、その製品固有のエラーまたは 警告の場合だけです)。 さらに、SQLSTATE は、アプリケーション・プログラムが特定のエラーまたは エラーのクラスについてテストできるように設計されています。 IBM® のSQL実装では、すべて同じコーディングスキームが使用されています。 SQLSTATE の値は、SQL 標準に含まれる SQLSTATE の仕様に基づいています。 エラー・メッセージおよびエラー・メッセージ内の変数に 置き換わるトークンは、SQLSTATE の値ではなく、SQLCODE の 値に関連付けられています。
LOOP ステートメントの場合は、LOOP ステートメント の END LOOP の部分が完了した後、SQLSTATE が設定されます。 REPEAT ステートメントを使用すると、REPEAT ステートメントの UNTIL および END REPEAT の部分が完了した後、SQLSTATE が設定されます。
アプリケーションが Db2 ODBC を使用している場合、返されるSQLSTATEは ODBC バージョン 2.0 の仕様を満たしています。