メタデータ データセットの構造
TSQLDataSet を使ってアクセスできるメタデータの種類ごとに、要求された種類の項目についての情報を含む列(フィールド)セットがあらかじめ定義されています。
目次
テーブルについての情報
テーブルについての情報(stTables または stSysTables)を要求すると、返されるデータセットにはテーブルごとに 1 つのレコードが含まれます。このレコードには以下の列があります。
テーブル情報を含んだメタデータのテーブルの列:
列名 | フィールドの型 | 内容 |
---|---|---|
RECNO |
ftInteger |
各レコードを一意に識別するためのレコード番号。 |
CATALOG_NAME |
ftString |
テーブルが格納されているカタログ(データベース)の名前。SQL 接続コンポーネントの Database パラメータと同じです。 |
SCHEMA_NAME |
ftString |
テーブルの所有者を特定するスキーマ名。 |
TABLE_NAME |
ftString |
テーブルの名前。このフィールドによってデータセットのソート順が決まります。 |
TABLE_TYPE |
ftInteger |
テーブルの種類を表します。次の値の 1 つ以上の合計です。1: テーブル、2: ビュー、4: システム テーブル、8: シノニム、16: 一時テーブル、32: ローカル テーブル。 |
ストアド プロシージャについての情報
ストアド プロシージャについての情報(stProcedures)を要求すると、返されるデータセットにはストアド プロシージャごとに 1 つのレコードが含まれます。このレコードには以下の列があります。
ストアド プロシージャ情報を含んだメタデータのテーブルの列:
列名 | フィールドの型 | 内容 |
---|---|---|
RECNO |
ftInteger |
各レコードを一意に識別するためのレコード番号。 |
CATALOG_NAME |
ftString |
ストアド プロシージャが格納されているカタログ(データベース)の名前。SQL 接続コンポーネントの Database パラメータと同じです。 |
SCHEMA_NAME |
ftString |
ストアド プロシージャの所有者を特定するスキーマ名。 |
PROC_NAME |
ftString |
ストアド プロシージャの名前。このフィールドによってデータセットのソート順が決まります。 |
PROC_TYPE |
ftInteger |
ストアド プロシージャの種類を表します。次の値の 1 つ以上の合計です。1: 手続き、2: 関数、4: パッケージ、8: システム手続き。 |
IN_PARAMS |
ftSmallint |
入力パラメータの数。 |
OUT_PARAMS |
ftSmallint |
出力パラメータの数。 |
フィールドについての情報
指定したテーブル内のフィールドについての情報(stColumns)を要求すると、返されるデータセットにはフィールドごとに 1 つのレコードが含まれます。このレコードには以下の列があります。
フィールド情報を含んだメタデータのテーブルの列:
列名 | フィールドの型 | 内容 |
---|---|---|
RECNO |
ftInteger |
各レコードを一意に識別するためのレコード番号。 |
CATALOG_NAME |
ftString |
フィールド情報を取得する対象のテーブルが格納されているカタログ(データベース)の名前。SQL 接続コンポーネントの Database パラメータと同じです。 |
SCHEMA_NAME |
ftString |
フィールドの所有者を特定するスキーマ名。 |
TABLE_NAME |
ftString |
フィールドを含んでいるテーブルの名前。 |
COLUMN_NAME |
ftString |
フィールドの名前。この値によってデータセットのソート順が決まります。 |
COLUMN_POSITION |
ftSmallint |
テーブル内での列の位置。 |
COLUMN_TYPE |
ftInteger |
フィールドに含まれる値の種類を表します。次の値の 1 つ以上の合計です。1: 行 ID、2: 行バージョン、4: 自動インクリメント フィールド、8: デフォルト値を持つフィールド。 |
COLUMN_DATATYPE |
ftSmallint |
列のデータ型を返します。sqllinks.pas で定義された論理フィールド型定数のいずれか 1 つです。 |
COLUMN_TYPENAME |
ftString |
データ型を表す文字列。COLUMN_DATATYPE および COLUMN_SUBTYPE に含まれているものと同じ情報ですが、一部の DDL 文で使われる形式になっています。 |
COLUMN_SUBTYPE |
ftSmallint |
列のデータ型のサブタイプ。sqllinks.pas で定義された論理サブタイプ定数のいずれか 1 つです。 |
COLUMN_PRECISION |
ftInteger |
フィールド型のサイズ(文字列の文字数、バイト フィールドのバイト数、BCD 値の有効桁数、ADT フィールドのメンバ数など)。 |
COLUMN_SCALE |
ftSmallint |
BCD 値では小数点の右の桁数、ADT および配列フィールドでは下位オブジェクト数。 |
COLUMN_LENGTH |
ftInteger |
フィールド値を格納するのに必要なバイト数。 |
COLUMN_NULLABLE |
ftSmallint |
フィールドを空のままにしておけるかどうかを示す論理値(0 はフィールドの値が必須であることを示します)。 |
インデックスについての情報
テーブルのインデックスについての情報(stIndexes)を要求すると、返されるデータセットには各レコード内のフィールドごとに 1 つのレコードが含まれます (マルチレコード インデックスは複数のレコードで表されます)。このデータセットには以下の列があります。
インデックス情報を含んだメタデータのテーブルの列:
列名 | フィールドの型 | 内容 |
---|---|---|
RECNO |
ftInteger |
各レコードを一意に識別するためのレコード番号。 |
CATALOG_NAME |
ftString |
インデックスが格納されているカタログ(データベース)の名前。SQL 接続コンポーネントの Database パラメータと同じです。 |
SCHEMA_NAME |
ftString |
インデックスの所有者を特定するスキーマ名。 |
TABLE_NAME |
ftString |
インデックスが定義されているテーブルの名前。 |
INDEX_NAME |
ftString |
インデックスの名前。このフィールドによってデータセットのソート順が決まります。 |
PKEY_NAME |
ftString |
主キーの名前を表します。 |
COLUMN_NAME |
ftString |
インデックスに含まれるフィールド(列)の名前。 |
COLUMN_POSITION |
ftSmallint |
インデックス内でのこのフィールドの位置。 |
INDEX_TYPE |
ftSmallint |
インデックスの種類を表します。次の値の 1 つ以上の合計です。1: 一意でない、2: 一意、4: 主キー。 |
SORT_ORDER |
ftString |
インデックスが昇順(a)か降順(d)かを表します。 |
FILTER |
ftString |
インデックス付きのレコードを制限するフィルタ条件を記述します。 |
ストアド プロシージャのパラメータについての情報
ストアド プロシージャのパラメータについての情報(stProcedureParams)を要求すると、返されるデータセットにはパラメータごとに 1 つのレコードが含まれます。このレコードには以下の列があります。
パラメータ情報を含んだメタデータのテーブルの列:
列名 | フィールドの型 | 内容 |
---|---|---|
RECNO |
ftInteger |
各レコードを一意に識別するためのレコード番号。 |
CATALOG_NAME |
ftString |
ストアド プロシージャが格納されているカタログ(データベース)の名前。SQL 接続コンポーネントの Database パラメータと同じです。 |
SCHEMA_NAME |
ftString |
ストアド プロシージャの所有者を特定するスキーマ名。 |
PROC_NAME |
ftString |
パラメータを含むストアド プロシージャの名前。 |
PARAM_NAME |
ftString |
パラメータの名前。このフィールドによってデータセットのソート順が決まります。 |
PARAM_TYPE |
ftSmallint |
パラメータの種類を表します。TParam オブジェクトの ParamType プロパティと同じです。 |
PARAM_DATATYPE |
ftSmallint |
パラメータのデータ型。sqllinks.pas で定義された論理フィールド型定数のいずれか 1 つです。 |
PARAM_SUBTYPE |
ftSmallint |
パラメータのデータ型のサブタイプ。sqllinks.pas で定義された論理サブタイプ定数のいずれか 1 つです。 |
PARAM_TYPENAME |
ftString |
データ型を表す文字列。PARAM_DATATYPE および PARAM_SUBTYPE に含まれているものと同じ情報ですが、一部の DDL 文で使われる形式になっています。 |
PARAM_PRECISION |
ftInteger |
浮動小数点値の最大桁数。文字列フィールドまたはバイト フィールドの場合には最大バイト数。 |
PARAM_SCALE |
ftSmallint |
浮動小数点値の小数点の右の桁数。 |
PARAM_LENGTH |
ftInteger |
パラメータ値を格納するのに必要なバイト数。 |
PARAM_NULLABLE |
ftSmallint |
パラメータを空のままにしておけるかどうかを示す論理値(0 はパラメータの値が必須であることを示します)。 |
Oracle パッケージについての情報
ストアド プロシージャ情報を含んだメタデータのテーブルの列:
列名 | フィールドの型 | 内容 |
---|---|---|
RECNO |
ftInteger |
各レコードを一意に識別するためのレコード番号。 |
CATALOG_NAME |
ftString |
パッケージが格納されているカタログ(データベース)の名前。SQL 接続コンポーネントの Database パラメータと同じです。 |
SCHEMA_NAME |
ftString |
パッケージの所有者を特定するスキーマ名。 |
OBJECT_NAME |
ftString |
パッケージの名前。このフィールドによってデータセットのソート順が決まります。 |