This section provides an example of how the DBMS_METADATA API could be used. A script is provided that automatically runs the demo for you by performing the following actions:
Establishes a schema (MDDEMO) and some payroll users.
Creates three payroll-like tables within the schema and any associated indexes, triggers, and grants.
Creates a package, PAYROLL_DEMO, that uses the DBMS_METADATA API. The PAYROLL_DEMO package contains a procedure, GET_PAYROLL_TABLES, that retrieves the DDL for the two tables in the MDDEMO schema that start with PAYROLL. For each table, it retrieves the DDL for the table's associated dependent objects; indexes, grants, and triggers. All the DDL is written to a table named MDDEMO.DDL.
To execute the example, do the following:
Start SQL*Plus as user system. You will be prompted for a password.
sqlplus system
Install the demo, which is located in the file mddemo.sql in rdbms/demo:
SQL> @mddemo
For an explanation of what happens during this step, see "What Does the DBMS_METADATA Example Do?".
Connect as user mddemo. You will be prompted for a password, which is also mddemo.
SQL> CONNECT mddemo Enter password:
Set the following parameters so that query output will be complete and readable:
SQL> SET PAGESIZE 0 SQL> SET LONG 1000000
Execute the GET_PAYROLL_TABLES procedure, as follows:
SQL> CALL payroll_demo.get_payroll_tables();
Execute the following SQL query:
SQL> SELECT ddl FROM DDL ORDER BY SEQNO;
The output generated is the result of the execution of the GET_PAYROLL_TABLES procedure. It shows all the DDL that was performed in Step 2 when the demo was installed. See "Output Generated from the GET_PAYROLL_TABLES Procedure " for a listing of the actual output.