DBMS_METADATA.GET_DDL

DBMS_METADATA包中的get_ddl是获取对象定于语句的函数

–具体参数如下,次函数必须传输object_type和 name参数,其他参数有默认值可选传。

DBMS_METADATA.GET_DDL (
    object_type     IN VARCHAR2,
    name            IN VARCHAR2,
    schema          IN VARCHAR2 DEFAULT NULL,
    version         IN VARCHAR2 DEFAULT 'COMPATIBLE',
    model           IN VARCHAR2 DEFAULT 'ORACLE',
    transform       IN VARCHAR2 DEFAULT 'DDL')
    RETURN CLOB;
以下为常用DDL查询
TABLESPACE

查询CHAICHENG表空间的定义语句

SELECT DBMS_METADATA.GET_DDL('TABLESPACE','CHAICHENG') FROM DUAL;
USER

查询CHAICHENG用户用户的定义语句

SELECT DBMS_METADATA.GET_DDL('USER','CHAICHENG') FROM DUAL;
TABLE

查询CHAICHENG用户下TEST表的定于语句

SELECT DBMS_METADATA.GET_DDL('TABLE','TEST','CHAICHENG') FROM DUAL;
VIEW

查询CHAICHENG用户下V_TEST视图的定于语句

SELECT DBMS_METADATA.GET_DDL('VIEW','V_TEST','CHAICHENG') FROM DUAL;
INDEX

查询CHAICHENG用户下TEST_INDEX01索引的定于语句

SELECT DBMS_METADATA.GET_DDL('INDEX','TEST_INDEX01','CHAICHENG') FROM DUAL;
SYNONYM

查询CHAICHENG用户下公共和私有的同义词定义语句

SELECT DBMS_METADATA.GET_DDL('SYNONYM','TEST_1','PUBLIC') FROM DUAL;
SELECT DBMS_METADATA.GET_DDL('SYNONYM','TEST_2','CHAICHENG') FROM DUAL;
SEQUENCE

查询CHAICHENG用户下SQ1序列的定义语句

SELECT DBMS_METADATA.GET_DDL('SEQUENCE,'SQ1','CHAICHENG') FROM DUAL;
PROCEDURE

查询CHAICHENG用户下存储过程P1的定义语句

SELECT DBMS_METADATA.GET_DDL('PROCEDURE','P1','CHAICHENG') FROM DUAL;
FUNCTION

查询CHAICHENG用户下存储函数F1的定义语句

SELECT DBMS_METADATA.GET_DDL('FUNCTION','F1','CHAICHENG') FROM DUAL;
TRIGGER

查询CHAICHENG用户下触发器为TG1的定义语句

SELECT DBMS_METADATA.GET_DDL('TRIGGER','TG1','CHAICHENG') FROM DUAL;
PACKAGE

查询CHAICHENG用户下PK1存储包的定义语句(包涵包壳和包体)

SELECT DBMS_METADATA.GET_DDL('PACKAGE','PK1','CHAICHENG') FROM DUAL;
SCHEDULER JOB
SELECT DBMS_METADATA.GET_DDL ( 'PROCOBJ', 'INSERT_FORBID_ITEM','NEWMESRPT') FROM DUAL;
DATABASE LINK
SELECT DBMS_METADATA.GET_DDL ( 'DB_LINK', 'DBLINK_NAME','PUBLIC') FROM DUAL;
以下为所支持的45个OBJECT TYPE

在这里插入图片描述