説明
OraMetaDataオブジェクトは、OraDatabaseインタフェースのDescribeメソッドをコールすることによって戻されます。Describeメソッドは、emp表などのスキーマ・オブジェクトの名前を取得して、OraMetaDataオブジェクトを戻します。OraMetaDataオブジェクトは、記述されているスキーマ・オブジェクトのすべての属性(OraMDAttributeコレクション)に動的にナビゲートおよびアクセスするメソッドを提供します。
OraMetaDataオブジェクトは、OraMDAttributeオブジェクトのコレクションで、データベース内の特定のスキーマ・オブジェクトに関する記述情報を表します。次の表は、OraMetaDataオブジェクト型の表(ORAMD_TABLE)の属性の例です。
表9-2に、ORAMD_TABLEの属性を示します。
表9-2 ORAMD_TABLEの属性
| 属性名 | 値の型 | 説明 |
|---|---|---|
|
|
|
オブジェクトID。 |
|
|
|
列の数。 |
|
|
|
列リスト。 |
|
|
ブール |
表に入力されたかどうかを示す。 |
|
|
ブール |
一時表かどうかを示す。 |
|
|
|
期間: セッション、トランザクション、NULLのいずれか。 |
|
|
|
セグメント・ヘッダーのデータ・ブロック・アドレス。 |
|
|
|
表が属する表領域。 |
|
|
ブール |
表がクラスタ化されているかどうかを示す。 |
|
|
ブール |
表がパーティション化されているかどうかを示す。 |
|
|
ブール |
索引構成表かどうかを示す。 |
備考
OraMetaDataオブジェクトは、3つの列を含む表として視覚化できます。
メタデータ属性名
メタデータ属性値
Valueが別のOraMetaDataオブジェクトであるかどうかを示すフラグ
順序を示す整数を使用する添字を作成するか、またはプロパティ名を使用することによって、OraMDAttributeオブジェクトに含まれるOraMDAttributeオブジェクトにアクセスできます。コレクションの範囲(0からCount-1)外の添字で参照すると、NULLのOraMDAttributeオブジェクトが戻ります。
プロパティ
メソッド
例
これらの例で使用されているOraMetaDataスキーマ定義については、「OraMetaDataの例で使用されているスキーマ・オブジェクト」を参照してください。
次のVisual Basicの例では、この機能の簡単な使用方法を示します。ここでは、emp表のいくつかの属性を取り出して表示します。
Set empMD = OraDatabase.Describe("emp")
'Display the name of the Tablespace
msgbox empMD("tablespace")
'Display name, data type, and size of each column in the emp table.
Set empColumnsMD = empMD("Columns")
for I = 1 to empColumns.Count
Set ColumnMD = empColumnsMD(I)
MsgBox ColumnMD("Name") & ColumnMD("Data Type") & ColumnMD("Length")
Next I
例: ユーザー定義型の記述
「例: ユーザー定義型の記述」を参照してください。
例: 不明なスキーマ・オブジェクトの記述
「例: 不明なスキーマ・オブジェクトの記述」を参照してください。