Oracle9i New Features - Use DBMS

xiaoxiao2021-03-06  46

Oracle9i New Features - Get Object DDL Statements with DBMS_Metadata Packages

Author: eygle

Source: http://blog.eygle.com

Date: decEmber 22, 2004

«Oracle's difficulties in Renke | Blog Home

From Oracle9i, Oracle provides a new system package DBMS_Metadata, which can be used to extract DDL statements created by objects.

This package function is extremely powerful, let's take a look at its use.

1. Get the creation statement of the table.

SQL> DESC DBMS_METADATA

Function Add_Transform Returns Number

...

Function Get_DDL Returns Clob

Argument Name Type In / Out Default?

------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------- --------

Object_type varchar2 in

Name varchar2 in

Schema varchar2 in default

Version varchar2 in Default

Model varchar2 in Default

Transform varchar2 in Default

....

SQL> SET Long 2000

SQL> SELECT DBMS_METADATA.GET_DDL ('Table', 'Test') from Dual;

DBMS_METADATA.GET_DDL ('Table', 'Test')

-------------------------------------------------- ------------------------------

Create Table "SYS". "Test"

("Owner" varchar2 (30),

"Object_name" varchar2 (128),

"SubObject_name" varchar2 (30),

"Object_id" Number,

"Data_Object_ID" NUMBER,

"Object_type" varchar2 (18),

"Created" Date,

"Last_DDL_Time" Date,

"TimeStamp" VARCHAR2 (19),

"Status" varchar2 (7),

"Temporary" VARCHAR2 (1),

"Generated" varchar2 (1),

"Secondary" varchar2 (1)

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS Logging

Storage (Initial 65536 Next 1048576 Mineltnts 1 maxExtents 2147483645pctincrease 0 free) 1 FreeList Groups 1 buffer_pool default)

TableSpace "System"

SQL>

2. Further, you can get a more comprehensive DDL statement via DBMS_METADATA

Oracle provides a comprehensive example: $ oracle_home / rdbms / demo / mddemo.sql includes indexing, authorization, all DDL statements, and more, all DDL statements, and more can be extracted.

Interested in referring to the file, tested in accordance with DEMO.