次の情報は、StatementInformationパーセルに適用されます。
フレーバー | パーセル ボディ長 | パーセル ボディ フィールド |
---|---|---|
169 | 6~最大パーセル サイズ | 自己定義拡張部分:6バイト以上 |
1つ以上の自己定義拡張部分を使用して、状況に依存する情報を提供します。 拡張部分は複数のStatementInformationパーセルを必要とする場合がありますが、1つの拡張部分は1つのパーセル内に完全に収容されます。 拡張部分は、1つ以上の項目について説明するタイプおよび そのタイプの終了に関する拡張部分の終了情報の情報レイアウトを含むタイプの2つのタイプに分かれます。
各拡張部分は、次のフィールドで始まります。
フィールド | 長さ | 説明 |
---|---|---|
PBTILOUT | 2バイトの符号なし整数 | ヘッダーに続くデータのレイアウトを次のように識別する情報レイアウト。
将来的な拡張に備え、他の値は無視する必要があります。
|
PBTIID | 2バイトの符号なし整数 | 拡張部分のタイプを次のように識別する情報ID。
将来的な拡張に備え、他の値は無視する必要があります。
|
PBTILEN | 2バイトの符号なし整数 | 拡張部分内の後続データの長さを示す情報長(拡張部分のヘッダーの長さは含まれません)。 将来的な拡張に備え、予想外の長さやその他のデータは無視する必要があります。
|
完全レイアウト
完全レイアウトは、DBCAREA Request-processing-optionが'P'(準備)、'S'(パラメータ化SQLをサポートする準備モード)、'B'(準備と実行)(Optionsパーセル(フレーバー85)Function 'P'、'S'、'B'オプションに対応)の場合に、パラメータ、クエリー、サマリー、識別列、ストアド プロシージャ出力、ストアド プロシージャ結果セットの情報に使用されます。次のテーブルに、完全レイアウトのフィールドを示します。
フィールド | 長さ | 説明 |
---|---|---|
PBTIFDB | 符号無し整数2バイトとその整数が示すバイト数 | データベース名。名前の長さ(バイト数)のあとに現在のセッション文字セットを使用した名前が続きます。 名前がSQL文の文脈に該当しないか、存在しない場合、長さは0となり、名前は入りません。 名前の最大長は、DBCHQE SQL-limitsクエリーを使用して取得できます。 |
PBTIFTB | 符号無し整数2バイトとその整数が示すバイト数 | テーブル、ビュー、プロシージャの名前。名前の長さ(バイト数)のあとに現在のセッション文字セットを使用した名前が続きます。 名前がSQL文の文脈に該当しないか、存在しない場合、長さは0となり、名前は入りません。 名前の最大長は、DBCHQE SQL-limitsクエリーを使用して取得できます。 |
PBTIFCN | 符号無し整数2バイトとその整数が示すバイト数 | 列、ユーザー定義関数(UDF)、ユーザー定義メソッド(UDM)、ストアド プロシージャ、またはパラメータの名前。名前の長さ(バイト数)のあとに現在のセッション文字セットを使用した名前が続きます。 名前がSQL文の文脈に該当しないか、存在しない場合、長さは0となり、名前は入りません。 名前の最大長は、DBCHQE SQL-limitsクエリーを使用して取得できます。 |
PBTIFCP | 2バイトの符号なし整数 | 最初の列を'1'とした、テーブル内の列の相対位置。 値がSQL文の文脈に該当しないか(式の場合など)、存在しない場合、0が入ります。 |
PBTIFAN | 符号無し整数2バイトとその整数が示すバイト数 | AS名。SQL AS句で変更した列名の長さ(バイト数)のあとに現在のセッション文字セットを使用した列名が続きます。 名前がSQL文の文脈に該当しないか、存在しない場合、長さは0となり、名前は入りません。 |
PBTIFT | 符号無し整数2バイトとその整数が示すバイト数 | 列タイトル。タイトルの長さ(バイト数)のあとに現在のセッション文字セットを使用したタイトルが続きます。 タイトルがSQL文の文脈に該当しないか(式の場合など)、存在しない場合、長さは0となり、タイトルは入りません。 |
PBTIFF | 符号無し整数2バイトとその整数が示すバイト数 | 列形式。形式の長さ(バイト数)のあとに現在のセッション文字セットを使用した形式が続きます。 形式がSQL文の文脈に該当しないか(式の場合など)、存在しない場合、長さは0となり、形式は入りません。 |
PBTIFDV | 符号無し整数2バイトとその整数が示すバイト数 | デフォルト値。デフォルト値の長さ(バイト数)のあとに現在のセッション文字セットを使用したデフォルト値が続きます。 デフォルト値がSQL文の文脈に該当しないか(式の場合など)、存在しない場合、長さは0となり、デフォルト値は入りません。 |
PBTIFIC | 1バイト、文字 | 列が識別列の場合は'Y'に設定され、それ以外の場合は'N'に設定されます。 識別列が関係していないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFDW | 1バイト、文字 | 列が確実に書き込み可能な場合(つまりユーザーが列を更新する権限を持つ場合)はASCII 'Y'に設定され、それ以外の場合(項目が列でないか、ユーザーの権限が不十分な場合)は'N'に設定されます。 |
PBTIFNL | 1バイト、文字 | 項目にNULLを保存できる(列がNOT NULLに定義されていない)場合はASCII 'Y'に設定され、それ以外の場合(項目が式の場合など)は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFMN | 1バイト、文字 | 項目にNULLを返すことができる場合はASCII 'Y'に設定され、それ以外の場合は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFSR | 1バイト、文字 | 項目がSQL WHERE句で使用可能な場合はASCII 'Y'に設定され、それ以外の場合(結果がラージ オブジェクト(LOB)など)は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFWR | 1バイト、文字 | 列が書き込み可能な場合(項目が変更可能列の場合)はASCII 'Y'に設定され、それ以外の場合(項目が式の場合など)は'N'に設定されます。 |
PBTIFDT | 2バイトの符号なし整数 | 返される項目のデータ型を示します。 データ型があいまいな場合(項目が式内のパラメータの場合など)や存在しない場合、0が設定されます。 PrepInfo[X] (フレーバー86または125)およびDataInfo[X] (フレーバー71または146)パーセルで使用されるデータ型以外のデータ型については、次のテーブルのデータ型(PBTIFDTのその他のデータ型)に加えて、データ型のデータ型を参照してください。 |
PBTIFUT | 2バイトの符号なし整数 | ユーザー定義型のSTRUCTURED型には2進の1、DISTINCT型には2、内部型には3が設定されます。 型があいまいな場合(式内のパラメータの場合など)や存在しない場合、0が設定されます。 |
PBTIFTY | 符号無し整数2バイトとその整数が示すバイト数 | 型名。名前の長さ(バイト数)のあとに現在のセッション文字セットを使用した名前が続きます。 名前がSQL文の文脈に該当しないか(ユーザー定義型でない場合など)、存在しない場合、長さは0となり、名前は入りません。 名前の最大長は、DBCHQE SQL-limitsクエリーを使用して取得できます。 |
PBTIFMI | 符号無し整数2バイトとその整数が示すバイト数 | データ型に関するその他の情報。情報の長さ(バイト数)のあとに現在のセッション文字セットを使用した情報が続きます。 情報がSQL文の文脈に該当しないか(データ型に情報がない場合など)、存在しない場合、長さは0となり、情報は入りません。 |
PBTIFMDL | 8バイト、符号無し整数 | この項目で返される可能性があるデータの合計バイト数。 |
PBTIFND | 2バイトの符号なし整数 | 項目がDECIMALまたはNUMERICデータ型の場合の桁数。 その他のデータ型の場合は、0が返されます。 |
PBTIFNID | 2バイトの符号なし整数 | 項目が時間を表わすデータ型の場合は、間隔の桁数。 その他のデータ型の場合は、0が返されます。 |
PBTIFNFD | 2バイトの符号なし整数 | 項目がDECIMALデータ型(またはTIME、TIMESTAMP、INTERVAL ... TO SECOND、INTERVAL SECONDなどの非推奨時間的データ型)の場合は、小数点以下の桁数。その他のデータ型の場合は、0が返されます。 |
PBTIFCT | 1バイト、符号無し整数 | 項目の文字セットのタイプ。1がLatin、2がUnicode、3がJapanese Shift-JIS、4がGraphic、5がJapanese Kanji1。 文字データでない場合は、0が返されます。 |
PBTIFMNC | 8バイト、符号無し整数 | この項目で返される合計文字数。 文字データでない場合は、0の値が返されます。 |
PBTIFCS | 1バイト、符号無し文字 | 文字項目で大文字と小文字が区別される(列にCASESPECIFICが定義されている)場合はASCII 'Y'に設定され、それ以外の場合または文字項目でない場合は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFSN | 1バイト、符号無し文字 | 数値項目が符号付の場合はASCII 'Y'に設定され、符号無し(BYTEデータ型)の場合、または数値項目でない場合は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFK | 1バイト、符号無し文字 | 列が行を一意に記述している場合はASCII 'Y'に設定され、それ以外の場合は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFU | 1バイト、符号無し文字 | 列が固有インデックスの唯一のメンバーである場合はASCII 'Y'に設定され、それ以外の場合は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFE | 1バイト、符号無し文字 | 項目が式の場合はASCII 'Y'に設定され、それ以外の場合は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
PBTIFSO | 1バイト、符号無し文字 | 項目がSQL ORDERBY句で使用可能な場合はASCII 'Y'に設定され、それ以外の場合は'N'に設定されます。 この概念がSQL文の文脈に該当しないか、情報が存在しない場合、ASCII 'U'が設定されます。 |
多数の可変長フィールド(長さとそれに続くデータが含まれるフィールド)があるため、完全レイアウト拡張部分の処理には十分な注意が必要です。 フィールドの検索では、上記の可変長フィールドすべてを調べることが必要になります。
|
名前 | NULL受け入れ不可の場合 | NULL受け入れ可能な場合 | INパラメータの場合 | INOUTパラメータの場合 | OUTパラメータの場合 |
---|---|---|---|---|---|
TIME | 760 | 761 | 1260 | 1261 | 1262 |
TIMESTAMP | 764 | 765 | 1264 | 1265 | 1266 |
TIME WITH TIME ZONE | 768 | 769 | 1268 | 1269 | 1270 |
TIMESTAMP WITH TIME ZONE | 772 | 773 | 1272 | 1273 | 1274 |
INTERVAL YEAR | 776 | 777 | 1276 | 1277 | 1278 |
INTERVAL YEAR TO MONTH | 780 | 781 | 1280 | 1281 | 1282 |
INTERVAL MONTH | 784 | 785 | 1284 | 1285 | 1286 |
INTERVAL DAY | 788 | 789 | 1288 | 1289 | 1290 |
INTERVAL DAY TO HOUR | 792 | 793 | 1292 | 1293 | 1294 |
INTERVAL DAY TO MINUTE | 796 | 797 | 1296 | 1297 | 1298 |
INTERVAL DAY TO SECOND | 800 | 801 | 1300 | 1301 | 1302 |
INTERVAL HOUR | 804 | 805 | 1304 | 1305 | 1306 |
INTERVAL HOUR TO MINUTE | 808 | 809 | 1308 | 1309 | 1310 |
INTERVAL HOUR TO SECOND | 812 | 813 | 1312 | 1313 | 1314 |
INTERVAL MINUTE | 816 | 817 | 1316 | 1317 | 1318 |
INTERVAL MINUTE TO SECOND | 820 | 821 | 1320 | 1321 | 1322 |
INTERVAL SECOND | 824 | 825 | 1324 | 1325 | 1326 |
PERIOD (DATE) | 832 | 833 | 1332 | 1333 | 1334 |
PERIOD (TIME) | 836 | 837 | 1336 | 1337 | 1338 |
PERIOD (TIME WITH TIME ZONE | 840 | 841 | 1340 | 1341 | 1342 |
PERIOD (TIMESTAMP | 844 | 845 | 1344 | 1345 | 1346 |
PERIOD (TIMESTAMP WITH TIME ZONE) | 848 | 849 | 1348 | 1349 | 1350 |
これらのデータ型は、DataInfo[X] (フレーバー71または146)リクエスト パーセルでは使用できません。
|
限定レイアウト
限定レイアウトは、DBCAREA Request-processing-optionが'E'(実行)(Optionsパーセル(フレーバー85)Function 'E'オプションに対応)の場合に、クエリー、サマリー、識別列、ストアド プロシージャ出力、ストアド プロシージャ結果セットの情報に使用されます。次のテーブルに、限定レイアウトのフィールドを示します。
フィールド | 長さ | 説明 |
---|---|---|
PBTILDT | 2バイトの符号なし整数 | 返される項目のデータ型を示します。 型があいまいな場合(式内のパラメータの場合など)や存在しない場合、0が設定されます。 PrepInfo[X] (フレーバー86または125)およびDataInfo[X] (フレーバー71または146)パーセルで使用されるデータ型以外のデータ型については、このセクションの前のPBTIFDTのその他のデータ型テーブルのデータ型に加えて、データ型のデータ型を参照してください。 |
PBTILMDL | 8バイト、符号無し整数 | この項目で返される可能性があるデータの合計バイト数。 |
PBTILND | 2バイトの符号なし整数 | 項目がDECIMALまたはNUMERICデータ型の場合の桁数。 その他のデータ型の場合は、0が返されます。 |
PBTILNID | 2バイトの符号なし整数 | 項目が時間を表わすデータ型の場合は、間隔の桁数。 その他のデータ型の場合は、0が返されます。 |
PBTILNFD | 2バイトの符号なし整数 | 項目がDECIMALデータ型(またはTIME、TIMESTAMP、INTERVAL ... TO SECOND、INTERVAL SECONDなどの非推奨時間的データ型)の場合は、小数点以下の桁数。その他のデータ型の場合は、0が返されます。 |
統計レイアウト
統計レイアウトは、見積もり処理情報に使用されます。 次のテーブルに、統計レイアウトのフィールドを示します。
フィールド | 長さ | 説明 |
---|---|---|
PBTISEE | 8バイト、符号無し整数 | 文の推定実行時間(ミリ秒単位)。 |
情報終了レイアウト
情報終了レイアウトは、現在の情報にそれ以上項目(パラメータ、クエリー、サマリー、識別列、ストアド プロシージャ出力、ストアド プロシージャ結果セット、見積もり処理)がないことを示します。情報終了レイアウトにデータはありません。