REXX SQLCA in Db2 12

REXX SQLCA in Db2 12

  • メインフレーム
6分で読めます 更新日 Apr 1, 2019

ポイント: Db2 12におけるREXX SQLCAは、Db2 for z/OSでのSQL操作に不可欠なSQL通信エリア(SQLCA)構造を説明し、その変数と機能を詳述します。

  • SQLCODEやSQLSTATEなどのSQLCA変数を説明します。
  • SQL操作におけるエラーハンドリングと診断に関する洞察を提供します。
変数 内容
SQLCODE SQL戻りコード
SQLERRMC エラー条件の説明にある変数のために置き換えられたX’FF’で区切られた1つ以上のトークン。切り捨てられたトークンが含まれている可能性がある。メッセージの長さが70バイトは切り捨ての可能性を示す
SQLERRP 製品シグネチャ、エラーの場合はエラーを検出したモジュールの名前などの診断情報。DB2またはz/OSの場合、製品シグネチャは「DSN」
SQLERRD.1 センシティブな静的カーソルの場合、カーソル位置が最後の行の後にあるとき(つまり、SQLCODEが+100に等しいとき)、結果テーブル内の行数を含みます。内部エラーコードを含む場合もあります
SQLERRD.2 センシティブな静的カーソルの場合、カーソル位置が最後の行の後にあるとき(つまり、SQLCODEが+100に等しいとき)、結果テーブル内の行数を含みます。内部エラーコードを含む場合もあります
SQLERRD.3 SQLデータ変更ステートメントの後に操作に適合した行数を含みます(ただし、CASCADE削除の結果削除された行は含みません)。SQLデータ変更ステートメントを伴うSELECTのカーソルのOPENまたはSELECT INTOの場合、SQLERRD(3)には埋め込まれたデータ変更ステートメントによって影響を受けた行数が含まれます。SQLステートメントが失敗した場合は0に設定され、ステートメントの実行中に行われたすべての変更が取り消されたことを示します。セグメント化されたテーブルスペースのテーブルからの一括削除、トランケート操作、またはDELETEステートメントもしくはビューの定義に選択基準が含まれていない場合のビューからの削除に対して-1に設定されます。行セット指向のFETCHステートメントの場合、行セット内で返された行数を含みます。SQLCODES -911および-913の場合、SQLERRD(3)にはタイムアウトまたはデッドロックの理由コードが含まれます。REFRESH TABLEステートメントの成功した実行後、SQLERRD(3)にはマテリアライズドクエリテーブルに挿入された行数が含まれます。動的ステートメントの解析中、またはネイティブSQLプロシージャの解析、バインディング、または実行中にエラーが発生した場合、SQLERRD(3)にはエラーが発生した行番号が含まれます。SQLCAIDの6バイト目はこの行番号が有効であるために「L」でなければなりません。この値は、ステートメントソースに改行制御文字が含まれている場合のみ意味があります。外部SQLプロシージャには返されません。
SQLERRD.4 一般的にタイマーオンを含み、SQLステートメントを実行するのに必要なリソースの大まかな推定値を示す短い浮動小数点値です。この値は、SQLステートメントを実行するのに必要な時間の見積もりを反映しているわけではありません。SQLステートメントを準備した後、このフィールドを準備されたSQLステートメントの相対コストの指標として使用できます。特定のステートメントに対して、この数字はカタログの統計の変更によって変動する可能性があります。DB2 for z/OSのリリース間で変更される可能性があります。
SQLERRD.5 PREPAREまたはEXECUTE IMMEDIATEステートメントの構文エラーの位置または列
SQLERRD.6 内部エラーコード
SQLWARN.0 すべての他のインジケータが空白の場合は空白; 少なくとも1つのインジケータがWを含む場合はW
SQLWARN.1 ホスト変数に割り当てられたときに文字列列の値が切り捨てられた場合はW
SQLWARN.2 列関数への引数から値が排除されなかった場合はW; MIN関数の結果がNULL値の排除に依存しないため、必ずしもWに設定されるわけではない
SQLWARN.3 結果列の数がホスト変数の数より大きい場合はW。ASSOCIATE LOCATORS文がストアドプロシージャが返すロケータよりも少ないロケータを含む場合はZ
SQLWARN.4 準備されたUPDATEまたはDELETE文にWHERE句が含まれていない場合はW。スクロール可能カーソルの場合、OPEN CURSORまたはALLOCATE CURSOR文の後に敏感な動的カーソルにはDを、無関心のカーソルにはIを、敏感なカーソルにはSを含む、スクロール不可能な場合は空白
SQLWARN.5 SQL文がDB2 for z/OSの有効なSQL文でないために実行されなかった場合はW。OPEN CURSORまたはALLOCATE CURSOR文の後のケースの能力を反映するために1(読み取り専用)、2(読み取りと削除)、または4(読み取り、削除、更新)の文字値
SQLWARN.6 DATEまたはTIMESTAMP値に月または年の期間を追加すると無効な日(例:6月31日)になる場合はW。結果を有効にするために日付の値が月の最終日に変更されたことを示す
SQLWARN.7 小数の乗算または除算操作のオペランドとして使用された数値の小数部分から1つ以上の非ゼロ桁が排除された場合はW
SQLWARN.8 変換できない文字が置き換え文字で置き換えられた場合はW
SQLWARN.9 COUNTまたはCOUNT_BIG処理中に算術例外が無視された場合はW。ストアドプロシージャが複数の結果セットを返した場合はZ
SQLWARN.10 SQLCAの少なくとも1つの文字フィールドが文字変換エラーのため無効な場合はW
SQLSTATE 最も最近のSQL文の実行結果の戻りコード

本Db2® 12 for z/OSリファレンスガイドは、ユーザーがDb2 for z/OSの管理やプログラミングにおいて日常的な活動を支援するために作成されました。このガイドの内容に関して明示または暗示された保証はありません。ユーザーにとって品質の高い有用なリファレンスを提供したいと考えています。このリファレンスガイドにおける間違いやエラーについては、blogs@bmc.comまでご通知ください。Db2はIBM Corporationの登録商標です。

これらの投稿は私自身のものであり、BMCの立場、戦略、または意見を必ずしも表すものではありません。

メインフレームの関連記事

The Briefを購読する

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ありがとう

あなたはThe Briefに登録されました
The Briefはメインフレームとエンタープライズオーケストレーション—BMC AMIとControl-M—および、両者に関するアナリストの研究、顧客の展開、イベントをカバーしています。