メタデータ データセットの構造

提供: RAD Studio
移動先: 案内検索

dbExpress スキーマ情報へのアクセス への移動


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

パッケージの名前。このフィールドによってデータセットのソート順が決まります。


関連項目