Oracle如何导出SQL脚本?
a。 获取单个的建表和建索引的语法
1。set heading off;
2。set echo off;
3。Set pages 999;
4。set long 90000;
5。
6。spool DEPT。 sql
7。select dbms_metadata。get_ddl('TABLE','DEPT','SCOTT') from dual;
8。select dbms_metadata。get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;
9。 spool off;
b。获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:
1...全部
a。 获取单个的建表和建索引的语法
1。set heading off;
2。set echo off;
3。Set pages 999;
4。set long 90000;
5。
6。spool DEPT。
sql
7。select dbms_metadata。get_ddl('TABLE','DEPT','SCOTT') from dual;
8。select dbms_metadata。get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;
9。
spool off;
b。获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:
1。set pagesize 0
2。set long 90000
3。
4。set feedback off
5。
6。set echo off
7。spool scott_schema。sql
8。connect scott/tiger;
9。SELECT DBMS_METADATA。GET_DDL('TABLE',u。
table_name)
10。
FROM USER_TABLES u;
11。SELECT DBMS_METADATA。GET_DDL('INDEX',u。index_name)
12。
FROM USER_INDEXES u;
13。
spool off;
c。
获取某个SCHEMA的建全部存储过程的语法
1。connect brucelau /brucelau;
2。
3。spool procedures。sql
4。
5。
select
6。
DBMS_METADATA。GET_DDL('PROCEDURE',u。object_name)
7。from
8。
user_objects u
9。
10。where
11。
object_type = 'PROCEDURE';
12。
13。spool off;
另:
1。dbms_metadata。get_ddl('TABLE','TAB1','USER1')
三个参数中,第一个指定导出DDL定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。收起