DBMS_METADATA.GET_DDL獲取使用者ddl指令碼

pwz1688發表於2014-03-06
oracle在9i以後,可以利用dbms_metadata.get_ddl包得到資料庫物件的ddl指令碼。
1、獲取test使用者下單個建表、檢視或索引的語法:

select dbms_metadata.get_ddl('TABLE','TAB_NAME','TEST') from dual; 
select dbms_metadata.get_ddl('VIEW','VIEW_NAME','TEST') from dual; 
select dbms_metadata.get_ddl('INDEX','IDX_NAME','TEST') from dual;

2、獲取一個schema一所有建表、檢視或索引的語法:

SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('VIEW',u.VIEW_name) FROM USER_VIEWS u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;

3,獲取某個schema下的所有過程或函式的語法:

select  DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name) from  user_objects u where object_type = 'PROCEDURE';

select  DBMS_METADATA.GET_DDL('FUNCTION',u.object_name) from user_objects u where object_type = 'FUNCTION';

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

相關文章