通過DBMS_METADATA.GET_DDL包獲得相關物件ddl語句

湖湘文化發表於2013-11-15
 

通過DBMS_METADATA.GET_DDL包獲得相關物件ddl語句:

SQL> set linesize 200

SQL> set pages 999

SQL> set long 90000

SQL> select DBMS_METADATA.GET_DDL('TABLE','DECL_NO_SEND','CIQLIMIT') from dual;

得到一個使用者下的所有表,索引,儲存過程,函式的ddl
1
SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)
FROM USER_OBJECTS u where U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE','FUNCTION‘);

2、得到所有表空間的ddl語句

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

3、得到所有建立使用者的ddlI

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

4、獲得當前使用者下所有表的ddl

SELECT DBMS_METADATA.GET_DDL('TABLE',t.table_name) from user_tables t;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21256317/viewspace-776723/,如需轉載,請註明出處,否則將追究法律責任。

相關文章