SET LONG 30000
select dbms_metadata.get_ddl('TABLE',TABLE_NAME) FROM USER_TABLES;
SELECT DBMS_METADATA.GET_DDL('VIEW',VIEW_NAME) FROM USER_VIEWS;
SELECT DBMS_METADATA.GET_DDL('TRIGGER',TRIGGER_NAME) FROM USER_TRIGGERS;
select dbms_metadata.get_ddl('TABLE',TABLE_NAME) FROM USER_TABLES;
SELECT DBMS_METADATA.GET_DDL('VIEW',VIEW_NAME) FROM USER_VIEWS;
SELECT DBMS_METADATA.GET_DDL('TRIGGER',TRIGGER_NAME) FROM USER_TRIGGERS;
[A]第三方工具就不说了主要说一下9i以上版本的dbms_metadata
1、获得单个对象的DDL语句
set heading off
set echo off
set feedback off
set pages off
set long 90000
select dbms_metadata.get_ddl(‘TABLE’,’TABLENAME’,’SCAME’) from dual;
如果获取整个用户的脚本,可以用如下语句
select dbms_metadata.get_ddl('TABLE',u.table_name) from user_tables u;
当然,如果是索引,则需要修改相关table到index
获取视图脚本:
SEELCT DBMS_METADATA.GET_DDL('VIEW','YOURVIEWNAME') FROM DUAL;