この項では、DBMS_METADATA
APIの使用例を示します。デモを自動的に実行するスクリプトの手順は、次のとおりです。
スキーマ(MDDEMO
)および何人かの従業員名簿のユーザーを確立します。
スキーマ内に従業員名簿に似せた表を3つ作成し、関連する索引、トリガーおよび権限を作成します。
DBMS_METADATA
APIを使用するPAYROLL_DEMO
というパッケージを作成します。PAYROLL_DEMO
パッケージには、PAYROLL
から始まるMDDEMO
スキーマ内の2つの表のDDLを取得するGET_PAYROLL_TABLES
というプロシージャを含めます。各表に対して、表の関連する依存オブジェクト、索引、権限およびトリガーのDDLを取得します。すべてのDDLは、MDDEMO
.DDL
という名前の表に書き込まれます。
例を実行するには、次の手順に従います。
ユーザーsystem
としてSQL*Plusを起動します。パスワードの入力を求められます。
sqlplus system
デモをインストールします。このデモは、rdbms
/demo
にあるファイルmddemo.sql
に含まれています。
SQL> @mddemo
この手順で行われる処理の詳細は、「DBMS_METADATAの例で行われる処理」を参照してください。
ユーザーmddemo
として接続します。パスワードを入力するように要求されます。パスワードもmddemo
です。
SQL> CONNECT mddemo Enter password:
問合せの出力を完全なものにして読取り可能にするために、次のパラメータを設定します
SQL> SET PAGESIZE 0 SQL> SET LONG 1000000
次のとおりGET_PAYROLL_TABLES
プロシージャを実行します。
SQL> CALL payroll_demo.get_payroll_tables();
次のSQL問合せを実行します。
SQL> SELECT ddl FROM DDL ORDER BY SEQNO;
生成される出力は、GET_PAYROLL_TABLES
プロシージャの実行結果です。デモのインストール時に、手順2で行われたすべてのDDLが示されます。実際の出力のリストについては、「GET_PAYROLL_TABLESプロシージャで生成される出力」を参照してください。