基本 SQLVAR のオカレンス内のフィールドの説明
基本 SQLVAR のフィールドの使用は、SQL ステートメントによって異なります。
下表は、基本 SQLVAR のフィールドの内容を説明しています。
C
名アセンブラ COBOL または PL/I name |
データ
の種類 |
DESCRIBE1
および PREPARE INTO での使用法 |
FETCH、OPEN、
EXECUTE、CALLでの使用法 |
|---|---|---|---|
sqltype
SQLTYPE |
SMALLINT | 列またはパラメーターのデータ・タイプ、およびそれに NULL 値を入れられるかどうかを示す。 タイプコードの説明については、 表1 を参照してください。 特殊タイプの場合、その特殊タイプの基になっているデータ・タイプがこのフィールドに入れられる。 基本 SQLVAR では、これが特殊タイプの記述の一部であることは指示されない。 |
ホスト変数のデータ・タイプ、および標識変数が与えられているかどうかを示す。 日付/時刻の値のホスト変数は、文字ストリング変数でなければなりません。 FETCH の場合、日付/時刻のタイプ・コードは、固定長文字ストリングを意味します。 タイプコードの説明については、 SQLDAのSQLTYPEとSQLLENフィールドを参照してください。 |
sqllenSQLLEN
|
SMALLINT | 列またはパラメーターの長さ属性。 日時データの場合は、値のストリング表現の長さ。 許容値については、 SQLDAのSQLTYPEとSQLLENのフィールドを参照してください。 LOB の場合は、LOB の長さ属性に関係なく、値は 0。 XML の場合、値は 0。 拡張 SQLVAR 内の フィールド SQLLONGLEN には、長さ属性が含まれる。 |
ホスト変数の長さ属性。 許容値については、 SQLDAのSQLTYPEとSQLLENのフィールドを参照してください。 LOB の場合は、LOB の長さ属性に関係なく、値は 0。 拡張 SQLVAR 内の フィールド SQLLONGLEN には、長さ属性が含まれる。 XML AS BLOB、CLOB、または DBCLOB の場合、LOB タイプの場合と同様に、sqllen は 0。 |
sqldata
SQLDATA |
ポインター | ストリング列またはパラメーターの場合、SQLDATA には X'0000zzzz' (zzzz は
関連する CCSID) が入る。 文字ストリングの場合、SQLDATA には代わりに X'FFFF' (ビット・データを示す) を入れることができる。 その他のタイプのデータでは使わない。日時列の場合、SQLDATA には、ストリング表現の日時値の CCSID を入れることができる。 DESCRIBE PROCEDURE の場合、結果セットに関連した結果セット・ロケーター値。 |
ホスト変数のアドレスが入る。 |
sqlind
SQLIND |
ポインター | 予約済み DESCRIBE PROCEDURE の場合、-1 に設定される。 |
SQLTYPE が奇数の場合、関連する標識変数のアドレスが入る。 それ以外の場合、このフィールドは使用されない。 |
sqlname
SQLNAME |
VARCHAR(30) | 列の非修飾名またはラベルが入る。名前またはラベルが存在しない場合には、長さ 0 のストリングが入る。 名前が 30 バイトを超える場合、名前はバイト境界で切り捨てられる。列名について詳しくは、結果列の名前を参照してください。 DESCRIBE PROCEDURE の場合、SQLNAME には 結果セットを戻すためにストアード・プロシージャーが使用するカーソル名が入る。 SQLNAME の値は、ストアード・プロシージャー がオープンしたカーソルの順番に現れる。 DESCRIBE INPUT の場合、SQLNAME は使用されない。 |
CCSID またホスト変数配列 (あるいはその両方) の次元情報を入れることができる。 Db2 以下の条件がすべて満たされ、かつ3バイト目と4バイト目がX'0000'ではない場合、SQLNAMEのデータ部分の3バイト目と4バイト目をホスト変数の文字符号集合として解釈します
SQLNAMEのデータ部分の3バイト目と4バイト目が X'0000' の場合、 Db2 は適切なデフォルトのCCSIDを使用します。 FETCH、OPEN、INSERT、EXECUTEの場合、SQLNAMEの長さが8で、SQLNAMEのデータ部分の最初の2バイトが X'0000' の場合、 Db2 はSQLNAMEフィールドのデータ部分の5バイト目から8バイト目を次のように解釈します |
(続き)
sqlname SQLNAME |
|
||
注:
|
|||