SQL 通信領域

SQL 文を実行するたびに、重要な情報がプログラムの SQL 通信領域 (SQLCA) と呼ばれる領域に返されます。SQL 通信領域を使用するには、通常、次の文をプログラムに記述します。

exec sql include sqlca end-exec

この文を記述しない場合でも DB2 ECM は自動的に領域を割り当てますが、プログラムではその領域にアクセスできません。ただし SQLCODE または SQLSTATE またはその両方を宣言する場合は、各 EXEC SQL 文の後に SQLCA 領域の対応フィールドをユーザー定義フィールドにコピーするコードが DB2 ECM によって生成されます。

ヒント: ANSI と互換性を保つために、SQLCA を完全に定義することをお勧めします。

MFSQLMESSAGETEXT データ項目が定義されている場合は、SQLCODE にゼロ以外の条件が検出されるたびに、DB2 ECM は 例外条件の説明によって MFSQLMESSAGETEXT データ項目の内容を更新します。この場合は、文字データ項目 PIC X(n) として宣言してください (n には有効な値を指定できます。このメッセージがデータ項目に入りきらない場合には、切り捨てられます)。

SQLCA、SQLCODE、SQLSTATE、MFSQLMESSAGETEXT は、いずれもホスト変数として宣言する必要はありません。