DBMS_METADATA_DIFF
パッケージには、SXML形式の2つのメタデータ・ドキュメントを比較するためのインタフェースが含まれています。
関連項目: メタデータAPIの詳細および使用例は、『Oracle Databaseユーティリティ』を参照してください。 |
この章では、次の項目について説明します。
この項では、DBMS_METADATA_DIFF
パッケージの使用に関連する項目について説明します。
DBMS_METADATA_DIFF
パッケージに含まれているインタフェースを使用して、SXML形式の2つのメタデータ・ドキュメントを比較できます。比較の結果はSXML差分ドキュメントに出力されます。このドキュメントは、DBMS_METADATA
送信インタフェースおよびCONVERT
APIを使用して他の形式に変換できます。
次のファンクションを使用すると、2つのオブジェクトのメタデータを1回のコールで比較できます。
構文
DBMS_METADATA_DIFF.COMPARE_SXML( object_type IN VARCHAR2, name1 IN VARCHAR2, name2 IN VARCHAR2, schema1 IN VARCHAR2 DEFAULT NULL, schema2 IN VARCHAR2 DEFAULT NULL, network_link1 IN VARCHAR2 DEFAULT NULL, network_link2 IN VARCHAR2 DEFAULT NULL) RETURN CLOB; DBMS_METADATA_DIFF.COMPARE_ALTER( object_type IN VARCHAR2, name1 IN VARCHAR2, name2 IN VARCHAR2, schema1 IN VARCHAR2 DEFAULT NULL, schema2 IN VARCHAR2 DEFAULT NULL, network_link1 IN VARCHAR2 DEFAULT NULL, network_link2 IN VARCHAR2 DEFAULT NULL) RETURN CLOB; DBMS_METADATA_DIFF.COMPARE_ALTER_XML( object_type IN VARCHAR2, name1 IN VARCHAR2, name2 IN VARCHAR2, schema1 IN VARCHAR2 DEFAULT NULL, schema2 IN VARCHAR2 DEFAULT NULL, network_link1 IN VARCHAR2 DEFAULT NULL, network_link2 IN VARCHAR2 DEFAULT NULL) RETURN CLOB;
パラメータ
表88-1 COMPARE_xxxファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
比較するオブジェクトのタイプ。有効なタイプ名は、 |
|
比較する最初のオブジェクトの名前。 |
|
比較する2番目のオブジェクトの名前。 |
|
比較する最初のオブジェクトのスキーマ。デフォルトは現行のユーザーです。 |
|
比較する2番目のオブジェクトのスキーマ。デフォルトは |
|
最初のオブジェクトが存在するデータベースへのデータベース・リンクの名前。NULL(デフォルト)の場合、オブジェクトはコール元を実行しているデータベースに存在するとみなされます。 |
|
2番目のオブジェクトが存在するデータベースへのデータベース・リンクの名前。デフォルトは |
DBMS_METADATA_DIFF
サブプログラムの機能は、次のとおりです。
比較するオブジェクトのタイプの指定
比較するSXMLドキュメントの指定
比較したドキュメントの差分の表示
比較後のクリーンアップ
表88-2に、DBMS_METADATA_DIFF
サブプログラムの要約を示します。
表88-2 DBMS_METADATA_DIFFパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
比較するオブジェクトのタイプを指定します。 |
|
比較するSXMLドキュメントを指定します。 |
|
|
|
|
このプロシージャは、比較するSXMLドキュメントを指定します。
構文
DBMS_METADATA_DIFF.ADD_DOCUMENT( handle IN NUMBER, document IN sys.XMLType); DBMS_METADATA_DIFF.ADD_DOCUMENT( handle IN NUMBER, document IN CLOB);
FETCH_CLOB
ファンクションおよびプロシージャは、ADD_DOCUMENT
で指定されている2つのドキュメントの差分を示すCLOBを戻します。
構文
DBMS_METADATA_DIFF.FETCH_CLOB( handle IN NUMBER) RETURN CLOB; DBMS_METADATA_DIFF.FETCH_CLOB(
handle IN NUMBER, doc IN OUT NOCOPY CLOB); DBMS_METADATA_DIFF.FETCH_CLOB( handle IN NUMBER, doc IN OUT NOCOPY CLOB diffs OUT BOOLEAN);