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 データ・タイプを示しています。記述子項目が変数に割り当てられるとき、変数は記述子項目のデータ・タイプと互換性がなければなりません。
項目名 | データ・タイプ |
---|---|
ヘッダー情報 | |
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 を使用してください。
データ・タイプ | データ・タイプ・コード | 長さ | オクテット長 |
---|---|---|---|
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;