SQL 解説書

SQLDA に対する DESCRIBE の効果

DESCRIBE または PREPARE INTO ステートメントの場合、 データベース・マネージャーは、常に SQLD を結果セットの列の数に設定します。

SQLDA の SQLVAR は、以下の場合に設定されます。

SQLDA の SQLVAR は、 以下の場合には設定されません (さらに多くのスペースの割り振りと別の DESCRIBE が必要)。

上記リストでの「LOB 列」には、 ソース・タイプが LOB タイプである特殊タイプも含まれます。

DESCRIBE (または PREPARE INTO) から警告 SQLCODE +236、+237、+239 を戻すかどうかを制御するには、 BIND または PREP コマンドの SQLWARN オプションを使用します。 使用するアプリケーション・コードでは、 これらの SQLCODE がいつ戻されてもよいようにしておいてください。 選択リストに LOB または構造タイプの列が含まれていて、 SQLDA の中の SQLVAR が不足している場合には、常に警告 SQLCODE +238 が戻されます。 これは、 結果セット内に LOB または構造タイプの列があるために SQLVAR 数を 2 倍にする必要があることをアプリケーションに認識させる唯一の方法です。

構造タイプの列を記述しようとしているものの、 FROM SQL 変換が定義されていない場合 (CURRENT DEFAULT TRANSFORM GROUP 特殊レジスターを使用した TRANSFORM GROUP の指定が行われていない (SQLSTATE 42741) か、 またはその名前グループが FROM SQL 変換関数を定義していない (SQLSTATE 42744) ため)、 DESCRIBE はエラーを戻します。 このエラーは、構造タイプの列がある表の DESCRIBE で戻されるエラーと同じです。

関連情報:


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]