SQLCAは、埋め込みSQLアプリケーションでのみ使用されます。ステータスを報告するためにSQLCODEを使用するストアド プロシージャは、SQLCODE変数を宣言してクエリー、文のステータスを判別します。
次の表では、SQLCAのフィールドについて説明します。
フィールド名 | 形式 | 説明 |
---|---|---|
SQLCAID | CHARACTER(8) | 文字列の’SQLCA. ’が含まれます。 |
SQLCABC | INTEGER | SQLCAの長さ(136(x'88'))。 |
SQLCODE | INTEGER | SQL文の実行結果の1次標識。
SQLCODEとその定義として可能な値については、メッセージ リファレンスで説明されています。 |
SQLERRM | VARCHAR(70) | 変数情報に関連付けられたSQLCODEのエラー メッセージの挿入が含まれます。 SQLERRMフィールドの挿入は、単一の文字列としてアプリケーションに提示されます。文字列の長さが示されますが、個々の挿入の長さは示されません。 文字列は16ビットの語で始まり、残ったデータの長さが含まれます。 このデータは、挿入テキストと挿入の区切り文字として機能するX'FF'という文字を含めて合計70文字で構成されます。 挿入および区切り文字が70文字を超える場合、その配列は右側が切り捨てられます。 例えば、-552というSQLCODE(権限違反)を指定すると、SQLERRMには次の3つまたは4つの挿入が入ります。
|
SQLERRP | CHARACTER(8) | エラーを検出したプリプロセッサ モジュールの名前が含まれます。 |
SQLERRD | 6ワードの配列 | 配列内に保管されるさまざまな情報が含まれます。 配列のアドレス指定方式は、C、COBOL、およびPL/Iによってそれぞれが異なるため、以下の6ワードのSQLERRDの記述には番号が付けられません。 6ワードを順番に上げると、以下のとおりです。
|
SQLWARN | CHARACTER(11)配列 | 警告状態が存在していることを示します。 SQLWARN6を除き、それぞれの文字は値の埋め込み文字または'W'のいずれかの形を取ります。 SQLWARNの11文字は、次のように定義されます。
|
SQLEXT | CHARACTER(5) | SQLCODEに関連付けられたSQLSTATE値が含まれます。 |