GET DESCRIPTOR

GET DESCRIPTOR ステートメントは、SQL 記述子から情報を取得します。

呼び出し

このステートメントは、アプリケーション・プログラム、SQL 関数、 SQL プロシージャー、またはトリガー内にのみ組み込むことができます。 これを対話式に発行することはできません。これは実行可能ステートメントですが、動的に準備することはできません。REXX で指定してはなりません。

権限

権限は不要です。

構文

構文図を読む構文図をスキップする
        .-SQL-.              .-LOCAL--.                        
>>-GET--+-----+--DESCRIPTOR--+--------+--SQL-descriptor-name---->
                             '-GLOBAL-'                        

     .-,---------------.                                
     V                 |                                
>--+---get-header-info-+----------------------------+----------><
   |                              .-,-------------. |   
   |                              V               | |   
   '-VALUE--+-integer----------+----get-item-info-+-'   
            '-integer-variable-'                        

構文図を読む構文図をスキップする
get-header-info

|--variable-1-- = --+-COUNT--------------------+----------------|
                    +-DB2_CURSOR_HOLDABILITY---+   
                    +-DB2_CURSOR_RETURNABILITY-+   
                    +-DB2_CURSOR_SCROLLABILITY-+   
                    +-DB2_CURSOR_SENSITIVITY---+   
                    +-DB2_CURSOR_UPDATABILITY--+   
                    +-DB2_MAX_ITEMS------------+   
                    +-DB2_RESULT_SETS_COUNT----+   
                    +-DYNAMIC_FUNCTION---------+   
                    +-DYNAMIC_FUNCTION_CODE----+   
                    '-KEY_TYPE-----------------'   

get-item-info

|--variable-2-- = --+-CARDINALITY----------------+--------------|
                    +-DATA-----------------------+   
                    +-DATETIME_INTERVAL_CODE-----+   
                    +-DB2_BASE_CATALOG_NAME------+   
                    +-DB2_BASE_COLUMN_NAME-------+   
                    +-DB2_BASE_SCHEMA_NAME-------+   
                    +-DB2_BASE_TABLE_NAME--------+   
                    +-DB2_CCSID------------------+   
                    +-DB2_COLUMN_CATALOG_NAME----+   
                    +-DB2_COLUMN_GENERATED-------+   
                    +-DB2_COLUMN_GENERATION_TYPE-+   
                    +-DB2_COLUMN_HIDDEN----------+   
                    +-DB2_COLUMN_NAME------------+   
                    +-DB2_COLUMN_ROW_CHANGE------+   
                    +-DB2_COLUMN_SCHEMA_NAME-----+   
                    +-DB2_COLUMN_TABLE_NAME------+   
                    +-DB2_COLUMN_UPDATABILITY----+   
                    +-DB2_CORRELATION_NAME-------+   
                    +-DB2_CURSOR_NAME------------+   
                    +-DB2_LABEL------------------+   
                    +-DB2_PARAMETER_NAME---------+   
                    +-DB2_RESULT_SET_LOCATOR-----+   
                    +-DB2_RESULT_SET_ROWS--------+   
                    +-DB2_SYSTEM_COLUMN_NAME ----+   
                    +-INDICATOR------------------+   
                    +-KEY_MEMBER-----------------+   
                    +-LENGTH---------------------+   
                    +-LEVEL----------------------+   
                    +-NAME-----------------------+   
                    +-NULLABLE-------------------+   
                    +-OCTET_LENGTH---------------+   
                    +-PARAMETER_MODE-------------+   
                    +-PARAMETER_ORDINAL_POSITION-+   
                    +-PARAMETER_SPECIFIC_CATALOG-+   
                    +-PARAMETER_SPECIFIC_NAME----+   
                    +-PARAMETER_SPECIFIC_SCHEMA--+   
                    +-PRECISION------------------+   
                    +-RETURNED_CARDINALITY-------+   
                    +-RETURNED_LENGTH -----------+   
                    +-RETURNED_OCTET_LENGTH------+   
                    +-SCALE----------------------+   
                    +-TYPE-----------------------+   
                    +-UNNAMED--------------------+   
                    +-USER_DEFINED_TYPE_CATALOG -+   
                    +-USER_DEFINED_TYPE_CODE ----+   
                    +-USER_DEFINED_TYPE_NAME  ---+   
                    '-USER_DEFINED_TYPE_SCHEMA --'   

説明

LOCAL
記述子の名前の有効範囲はプログラム呼び出しのローカルであることを指定します。 情報は、このローカル有効範囲で既知の記述子から戻されます。
GLOBAL
記述子の名前の有効範囲は SQL セッション全体であることを指定します。 情報は、同じデータベース接続を使用して実行するどのプログラムにも既知の記述子から戻されます。
SQL-descriptor-name
SQL 記述子の名前を指定します。名前は、指定の有効範囲を持つ既存の記述子を識別するものでなければなりません。
get-header-info
準備済み SQL ステートメントおよび SQL 記述子に関する情報を戻します。
VALUE
指定された情報が取り出される項目数を示します。 この値が (ヘッダー情報からの) COUNT の値より大きい場合、結果は戻されません。 記述子に割り振られる項目の最大数よりも項目数が大きいか、または項目数が 1 より小さい場合、エラーが戻されます。
integer
1 から SQL 記述子の項目数の範囲の整数定数。
integer-variable
変数を宣言する規則に従ってプログラム内で宣言された、変数を指定します。 変数をグローバル変数にすることはできません。変数のデータ・タイプは、SMALLINT、INTEGER、BIGINT、または DECIMAL、あるいは位取りがゼロの NUMERIC でなければなりません。 整変数 の値は、1 から SQL 記述子の項目の最大数の範囲でなければなりません。
get-item-info
SQL 記述子の特定の項目に関する情報を戻します。

ヘッダー情報の取得

variable-1
変数を宣言する規則に従ってプログラム内で宣言された、変数を指定します。ただし、これはファイル参照変数またはグローバル変数であってはなりません。変数のデータ・タイプは、表 1で指定されている記述子情報項目と互換性がなければなりません。 変数は、(記憶域割り当て規則を使用して) 対応する記述子項目に割り当てられます。 割り当て規則の詳細については、割り当ておよび比較を参照してください。
COUNT
記述子の項目数。
DB2_CURSOR_HOLDABILITY
カーソルの保留状況。指定可能な値は次のとおりです。
0
記述子がカーソルを記述していないか、カーソルが WITH HOLD で宣言されていません。
1
WITH HOLD と宣言されたカーソル。
DB2_CURSOR_RETURNABILITY
カーソルの結果セットの戻り状況。指定可能な値は次のとおりです。
0
記述子がカーソルを記述していないか、カーソルの結果セットを返せません。
1
カーソルの結果セットをプロシージャーの呼び出し元に返せます。
2
カーソルの結果セットをクライアントに返せます。
DB2_CURSOR_SCROLLABILITY
カーソルのスクロール状況。指定可能な値は次のとおりです。
0
記述子がカーソルを記述していないか、カーソルが SCROLL で宣言されていません。
1
SCROLL と宣言されたカーソル。
DB2_CURSOR_SENSITIVITY
カーソルのセンシティビティー。指定可能な値は次のとおりです。
0
記述子がカーソルを記述していません。
1
カーソルは SENSITIVE DYNAMIC です。
3
カーソルは INSENSITIVE です。
4
カーソルは ASENSITIVE です。
DB2_CURSOR_UPDATABILITY
WHERE CURRENT OF cursor-name を組み込んだ UPDATE ステートメントでカーソルを使用できるかどうかを指定します。指定可能な値は次のとおりです。
0
記述子がカーソルを記述していないか、WHERE CURRENT OF cursor-name を組み込んだ UPDATE ステートメントでカーソルを使用できません。
1
WHERE CURRENT OF cursor-name を組み込んだ UPDATE ステートメントでカーソルを使用できます。
DB2_MAX_ITEMS
ALLOCATE DESCRIPTOR ステートメントでの割り振り済み項目記述子の最大数として指定されている値を表します。 WITH MAX 文節が指定されなかった場合、値はデフォルトの ALLOCATE DESCRIPTOR ステートメントの最大項目数になります。
DB2_RESULT_SETS_COUNT
プロシージャーから戻された結果セットの数。この記述子がプロシージャーを記述していない場合は、値が 0 になります。
DYNAMIC_FUNCTION
文字ストリングとしての準備済み SQL ステートメントのタイプ。 ステートメント・タイプの詳細については、表 2 を参照してください。
DYNAMIC_FUNCTION_CODE
準備済み SQL ステートメントのタイプを表すステートメント・コード。 ステートメント・コードの詳細については、表 2 を参照してください。
KEY_TYPE
選択リストに含まれるキーのタイプ。 考えられる値は、次のとおりです。
0
記述子が照会の列を記述していないか、または照会でキー列が参照されていないか、あるいは固有キーがありません。
1
選択リストに、照会によって参照される基本表の基本キーのすべての列が含まれています。
2
照会によって参照される表には基本キーがありませんが、選択リストには優先候補キーとして定義されている列のセットが含まれます。 選択リストにそのような優先候補キーが複数含まれている場合、左端の優先候補キーが使用されます。

項目情報の取得

variable-2
変数を宣言する規則に従ってプログラム内で宣言された、変数を指定します。ただし、これはファイル参照変数またはグローバル変数であってはなりません。変数のデータ・タイプは、表 1で指定されている記述子情報項目と互換性がなければなりません。 変数は、(記憶域割り当て規則を使用して) 対応する記述子項目に割り当てられます。 割り当て規則の詳細については、割り当ておよび比較を参照してください。

一般的に、DATA 項目を取得するときは変数のデータ・タイプ、長さ、精度、位取り、および CCSID が表 1 で指定されているものと同じでなければなりません。 可変長タイプの場合、可変長は記述子の LENGTH よりも小さくてはなりません。 C NUL 終了タイプの場合、可変長は記述子の LENGTH よりも少なくとも 1 大きくなければなりません。

CARDINALITY
配列データ・タイプのカーディナリティー。この記述子が DESCRIBE の結果である場合は、配列データ・タイプの最大カーディナリティーになります。 カーディナリティーは他のすべてのデータ・タイプで 0 になります。
DATA
項目記述子によって記述されるデータの値。 INDICATOR の値が負の場合、DATA の値は未定義となり、INDICATOR 項目情報の取得 も同じステートメントに指定しなければなりません。
DATETIME_INTERVAL_CODE
特定の日時データ・タイプを定義するコード。
0
記述子項目には TYPE 値 9 がありません。
1
DATE
2
TIME
3
TIMESTAMP
DB2_BASE_CATALOG_NAME
項目記述子によって表される列の基本表のサーバー名。
DB2_BASE_COLUMN_NAME
記述される照会で参照される (おそらくビューを介して間接的に) 基本表で定義されている列の名前。 列名を定義できないかまたは適用不可の場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
DB2_BASE_SCHEMA_NAME
項目記述子によって表される列の基本表のスキーマ名。 スキーマ名を定義できないかまたは適用不可の場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
DB2_BASE_TABLE_NAME
項目記述子によって表される列の基礎となる基本表の表名。 表名を定義できないかまたは適用不可の場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
DB2_CCSID
文字、グラフィック、または XML データの CCSID。文字タイプ、グラフィック・ストリング・タイプ、または XML タイプに基づかないタイプではすべて、値はゼロになります。FOR BIT DATA 属性を持つバイナリー・タイプまたは文字タイプでは、値は 65535 になります。
DB2_COLUMN_CATALOG_NAME
項目記述子によって表されている列の参照される表またはビューのサーバー名。 列カタログ名を定義できないかまたは適用不可の場合、この項目には空ストリングが入ります。
DB2_COLUMN_GENERATED
列が生成されるかどうかを示します。 考えられる値は、次のとおりです。
0
生成されない
1
GENERATED ALWAYS
2
GENERATED BY DEFAULT
DB2_COLUMN_GENERATION_TYPE
列がどのように生成されるかを示します。 考えられる値は、次のとおりです。
0
生成されない
1
IDENTITY 列
2
ROWID 列
4
行変更タイム・スタンプ列
変更の始まり5変更の終わり
変更の始まりROW BEGIN 列変更の終わり
変更の始まり6変更の終わり
変更の始まりROW END 列変更の終わり
変更の始まり7変更の終わり
変更の始まりTRANSACTION START ID 列変更の終わり
変更の始まり8変更の終わり
変更の始まり生成式列変更の終わり
DB2_COLUMN_HIDDEN
項目記述子によって表される列が隠されているかどうかを示します。考えられる値は、次のとおりです。
0
隠されていない
1
暗黙に隠されている
3
オプティミスティック・ロックに対して暗黙に隠されている
DB2_COLUMN_NAME
記述される照会で参照される表またはビューで定義されている列の名前。 列名を定義できないかまたは適用不可の場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
DB2_COLUMN_ROW_CHANGE
項目記述子によって表される列が、WITH ROW CHANGE COLUMNS 準備属性を使用した結果追加されたかどうかを示します。考えられる値は、次のとおりです。
-1
ROW CHANGE TOKEN (特殊)
-2
ROW CHANGE TOKEN (特殊でない)
-3
RID (リモート・リレーショナル・データベースからのみ有効)
-4
RID_BIT (リモート・リレーショナル・データベースからのみ有効)
DB2_COLUMN_SCHEMA_NAME
項目記述子によって表されている列の参照される表またはビューのスキーマ名。 列スキーマ名を定義できないかまたは適用不可の場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
DB2_COLUMN_TABLE_NAME
項目記述子によって表されている列の参照される表またはビューの表名またはビュー名。 列表名を定義できないかまたは適用不可の場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
DB2_COLUMN_UPDATABILITY
項目記述子によって表される列が更新可能かどうかを示します。 考えられる値は、次のとおりです。
0
更新不可
1
更新可能
DB2_CORRELATION_NAME
常に空ストリングが戻されます。
DB2_CURSOR_NAME
この結果セットに対応するプロシージャー内のカーソルの名前。値が設定されるのは、記述子がプロシージャーを記述している場合に限られます。
DB2_LABEL
列に対して定義されるラベル。 列のラベルがない場合、この項目には空ストリングが入ります。
DB2_PARAMETER_NAME
ストアード・プロシージャーのパラメーターの名前。 CALL ステートメントに対してのみ戻されます。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
DB2_RESULT_SET_LOCATOR
この結果セットの結果セット・ロケーター。値が設定されるのは、記述子がプロシージャーを記述している場合に限られます。
DB2_RESULT_SET_ROWS
結果セット内の行の予測数。数が不明な場合は、値 -1 に設定されます。値が設定されるのは、記述子がプロシージャーを記述している場合に限られます。
DB2_SYSTEM_COLUMN_NAME
列のシステム名。 システム名を定義できないかまたは適用不可の場合、この項目にはブランクが入ります。
INDICATOR
標識の値。 この記述子項目に戻される値が DATA フィールドに指定されると、負でない値が使用されます。 拡張標識変数が使用できない際に、この記述子項目に戻される値が NULL 値の場合、負の値が使用されます。拡張標識が使用可能な場合は、次のようになります。
  • -1、-2、-3、-4、または -6 は、この記述子に戻される値が NULL 値であることを示します。
  • -5 は、この記述子項目に戻される値が DEFAULT であることを示します。
  • -7 は、この記述子項目に戻される値が UNASSIGNED であることを示します。
KEY_MEMBER
この列がキーの一部かどうかを示す標識。
0
この列はキーの一部ではありません。
1
この列は固有キーの一部です。
2
この列自体が固有キーです。
LENGTH
データの最大長を戻します。 データ・タイプが文字またはグラフィック・ストリング、XML タイプまたは日時タイプの場合、長さは文字数を表します (バイト数ではない)。データ・タイプがバイナリー・ストリングまたは他のタイプの場合、長さはバイト数を表します。 データ・タイプ・コードおよび長さの説明については、表 2を参照してください。
LEVEL
項目記述子のレベル。 値は 0 です。
NAME
項目記述子によって記述される選択リスト列に関連した名前。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
NULLABLE
列またはパラメーター・マーカーがNULL 可能かどうかを示します。
0
選択リスト列またはパラメーター・マーカーに NULL 値を指定できません。
1
選択リスト列またはパラメーター・マーカーに NULL 値を指定できます。
OCTET_LENGTH
すべてのタイプのデータの最大長をバイトで戻します。 データ・タイプ・コードおよび長さの説明については、表 2を参照してください。
PARAMETER_MODE
CALL ステートメントでのパラメーター・マーカーのモード。
0
記述子は CALL ステートメントと関連付けられていません。
1
入力専用パラメーター。
2
入出力パラメーター。
4
出力専用パラメーター。
PARAMETER_ORDINAL_POSITION
CALL ステートメントでのパラメーター・マーカーの順序位置。 記述子は CALL ステートメントと関連付けられていない場合、値は 0 になります。
PARAMETER_SPECIFIC_CATALOG
パラメーター・マーカーを含むプロシージャーのサーバー名。
PARAMETER_SPECIFIC_NAME
パラメーター・マーカーを含むプロシージャーの特定の名前。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
PARAMETER_SPECIFIC_SCHEMA
パラメーター・マーカーを含むプロシージャーのスキーマ名。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
PRECISION
データの精度を戻します。
SMALLINT
5
INTEGER
10
BIGINT
19
NUMERIC および DECIMAL
定義済み精度
REAL
24
DOUBLE
53
DECFLOAT(7)
7
DECFLOAT(16)
16
DECFLOAT(34)
34
TIME
0
TIMESTAMP
定義済み精度 (0-12)
その他のデータ・タイプ
0
RETURNED_CARDINALITY
FETCH または CALL から返される配列データ・タイプの現在のカーディナリティー。項目のデータ・タイプが配列でない場合は、値が 0 になります。
RETURNED_LENGTH
文字ストリングおよびグラフィック・ストリング、および XML のデータ・タイプの場合、戻される長さ (文字数)。バイナリー・ストリング・データ・タイプの場合、戻される長さ (バイト数)。
RETURNED_OCTET_LENGTH
すべてのストリング・データ・タイプに関して、戻される長さ (バイト数)。
SCALE
データ・タイプが DECIMAL または NUMERIC の場合、定義済みの位取りを戻します。 位取りは他のすべてのデータ・タイプで 0 になります。
TYPE
項目のデータ・タイプを表すデータ・タイプ・コードを戻します。 データ・タイプ・コードおよび長さの説明については、表 2を参照してください。
UNNAMED
値 1 は、NAME 値がデータベース・マネージャーによって生成されることを示します。 それ以外の場合、値はゼロで、NAME は選択リストの列の派生名になります。
USER_DEFINED_TYPE_CATALOG
ユーザー定義タイプのサーバー名。 タイプがユーザー定義データ・タイプではない場合、この項目には空ストリングが入ります。
USER_DEFINED_TYPE_CODE
記述子項目のタイプがユーザー定義タイプかどうかを示します。
0
記述子項目はユーザー定義タイプではありません。
1
記述子項目はユーザー定義タイプです。
USER_DEFINED_TYPE_NAME
ユーザー定義データ・タイプの名前。 タイプがユーザー定義データ・タイプではない場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。
USER_DEFINED_TYPE_SCHEMA
ユーザー定義データ・タイプのスキーマ名。 タイプがユーザー定義データ・タイプではない場合、この項目には空ストリングが入ります。 名前は、大/小文字の区別ありの区切り文字なしで戻されます。

項目のデータ・タイプ: 以下の表は、記述子項目ごとの SQL データ・タイプを示しています。記述子項目が変数に割り当てられるとき、変数は記述子項目のデータ・タイプと互換性がなければなりません。

表 1. GET DESCRIPTOR 項目のデータ・タイプ
項目名 データ・タイプ
ヘッダー情報
COUNT INTEGER
DB2_CURSOR_HOLDABILITY INTEGER
DB2_CURSOR_RETURNABILITY INTEGER
DB2_CURSOR_SCROLLABILITY INTEGER
DB2_CURSOR_SENSITIVITY INTEGER
DB2_CURSOR_UPDATABILITY INTEGER
DB2_MAX_ITEMS INTEGER
DB2_RESULT_SETS_COUNT INTEGER
DYNAMIC_FUNCTION VARCHAR(128)
DYNAMIC_FUNCTION_CODE INTEGER
KEY_TYPE INTEGER
項目情報
CARDINALITY BIGINT
DATA TYPE によって指定されるデータ・タイプと一致
DATETIME_INTERVAL_CODE INTEGER
DB2_BASE_CATALOG_NAME VARCHAR(128)
DB2_BASE_COLUMN_NAME VARCHAR(128)
DB2_BASE_SCHEMA_NAME VARCHAR(128)
DB2_BASE_TABLE_NAME VARCHAR(128)
DB2_CCSID INTEGER
DB2_COLUMN_CATALOG_NAME VARCHAR(128)
DB2_COLUMN_GENERATED INTEGER
DB2_COLUMN_GENERATION_TYPE INTEGER
DB2_COLUMN_HIDDEN INTEGER
DB2_COLUMN_NAME VARCHAR(128)
DB2_COLUMN_ROW_CHANGE INTEGER
DB2_COLUMN_SCHEMA_NAME VARCHAR(128)
DB2_COLUMN_TABLE_NAME VARCHAR(128)
DB2_COLUMN_UPDATABILITY INTEGER
DB2_CORRELATION_NAME VARCHAR(128)
DB2_CURSOR_NAME VARCHAR(128)
DB2_LABEL VARCHAR(60)
DB2_PARAMETER_NAME VARCHAR(128)
DB2_RESULT_SET_LOCATOR 結果セット・ロケーター
DB2_RESULT_SET_ROWS BIGINT
DB2_SYSTEM_COLUMN_NAME CHAR(10)
INDICATOR INTEGER
KEY_MEMBER INTEGER
LENGTH INTEGER
LEVEL INTEGER
NAME VARCHAR(128)
NULLABLE INTEGER
OCTET_LENGTH INTEGER
PARAMETER_MODE INTEGER
PARAMETER_ORDINAL_POSITION INTEGER
PARAMETER_SPECIFIC_CATALOG VARCHAR(128)
PARAMETER_SPECIFIC_NAME VARCHAR(128)
PARAMETER_SPECIFIC_SCHEMA VARCHAR(128)
PRECISION INTEGER
RETURNED_CARDINALITY INTEGER
RETURNED_LENGTH INTEGER
RETURNED_OCTET_LENGTH INTEGER
SCALE INTEGER
TYPE INTEGER
UNNAMED INTEGER
USER_DEFINED_TYPE_CATALOG VARCHAR(128)
USER_DEFINED_TYPE_NAME VARCHAR(128)
USER_DEFINED_TYPE_SCHEMA VARCHAR(128)
USER_DEFINED_TYPE_CODE VARCHAR(128)

SQL データ・タイプ・コードおよび長さ: 以下の表は、TYPE、LENGTH、OCTET_LENGTH、および DATETIME_INTERVAL_CODE 記述子項目で考えられる値を表しています。

以下の表の値は、ISO および ANSI SQL Standard によって割り当てられていて、 この規格の発展に応じて変更される可能性があります。 これらの値を参照するときには、 ライブラリー QSYSINC 内のインクルード・ソース・ファイルにある インクルード sqlscds を使用してください。

表 2. SQL データ・タイプ・コードおよび長さ
データ・タイプ データ・タイプ・コード 長さ オクテット長
SMALLINT 5 2 2
INTEGER 4 4 4
BIGINT 25 8 8
DECIMAL 3 (精度/2)+1 (精度/2)+1
NUMERIC(n) 2 n n
REAL 7 4 4
FLOAT 6 8 8
DOUBLE PRECISION 8 8 8
DECFLOAT(7) -360 4 4
DECFLOAT(16) -360 8 8
DECFLOAT(34) -360 16 16
CHARACTER(n) 1 n n
VARCHAR(n) 12 <=n n
CLOB(n) 40 <=n n
GRAPHIC (n) -95 n 2*n
VARGRAPHIC (n) –96 <=n 2*n
DBCLOB(n) -350 <=n 2*n
BINARY(n) –2 n n
VARBINARY(n) –3 <=n n
BLOB(n) 30 n n
DATE (DATETIME_INTERVAL_CODE = 1) 9 長さは日付形式に依存する CCSID に基づく
TIME (DATETIME_INTERVAL_CODE = 2) 9 長さは時刻形式に依存する CCSID に基づく
TIMESTAMP (DATETIME_INTERVAL_CODE = 3) 9 精度に応じて、19 から 32 精度に応じて、19 から 32 または 38 から 64 (CCSID によって異なる)
DATALINK(n) 70 <=n n
ROWID -904 40 40
XML 137 0 0
C NUL 終了 CHARACTER(n) 1 <=n n
C NUL 終了 GRAPHIC(n) –400® <=n 2*n
BLOB ファイル参照変数 -916 267 267
CLOB ファイル参照変数 -920 267 267
DBCLOB ファイル参照変数 -924 267 267
結果セット・ロケーター -972 8 8
アレイ 50 該当せず 該当せず

例 1: 記述子 'NEWDA' から記述子項目の数を取得します。

  EXEC SQL GET DESCRIPTOR  'NEWDA'
    :numitems = COUNT;

例 2: 記述子 'NEWDA' の最初の項目記述子からデータ・タイプとオクテット長を取得します。

  GET DESCRIPTOR 'NEWDA'
    VALUE 1 :dtype   = TYPE, 
            :olength = OCTET_LENGTH;