可使用 DBMS_METADATA.GET_DDL()函数 查询数据库对象的DDL语句。

DBMS_METADATA.GET_DDL()函数
语法结构:

SELECT DBMS_METADATA.GET_DDL(OBJECT_TYPE, NAME, SCHEMA) FROM DUAL;

参数说明:
OBJECT_TYPE:对象的类型,如TABLE、INDEX、FUNTION、JOB、PACKAGE、SEQUENCE等;
NAME: 对象名;
SCHEMA:对象所在schema,默认为当前用户所在schema;

应用举例

1.查询当前用户下表EXAMPLE的DDL

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

2.查询RUI用户下表JOB1的DDL

select dbms_metadata.get_ddl('TABLE','JOB1','RUI') from dual;

3.查询RUI用户下索引PK_DEPT的DDL

select dbms_metadata.get_ddl('INDEX','PK_DEPT','RUI') from dual;

4.查询所有表空间的ddl语句(使用DBA账号)

SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS;

5.查询创建用户RUI的ddl

select dbms_metadata.get_ddl('USER','RUI') from dual;

6.查询所有创建用户的ddl

SELECT DBMS_METADATA.GET_DDL('USER',U.username) 
FROM DBA_USERS U;

7.查询一个用户下的所有表,索引,存储过程的ddl

SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)
FROM USER_OBJECTS u
where U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE');
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐