基本上用到的語法如下:
a. 獲取單個的建表和建索引的語法
set heading off;
set echo off;
set pages 999;
set long 90000;
spool dept.
sqlselect dbms_metadata.get_ddl('table','dept','scott') from dual;
select dbms_metadata.get_ddl('index','dept_idx','scott') from dual;
spool off;
b.獲取乙個schema下的所有建表和建索引的語法,以scott為例:
set pagesize 0
set long 90000
set feedback off
set echo off
spool scott_schema.
sqlconnect scott/tiger;
select
dbms_metadata.get_ddl('table',u.table_name)
from user_tables u;
select
dbms_metadata.get_ddl('index',u.index_name)
from user_indexes u;
spool off;
c. 獲取某個schema的建全部儲存過程的語法
connect brucelau /brucelau;
spool procedures.
sqlselect
dbms_metadata.get_ddl('procedure',u.object_name)
from
user_objects u
where
object_type = 'procedure';
spool off;
另: dbms_metadata.get_ddl('table','tab1','user1')
三個引數中,第乙個指定匯出ddl定義的物件型別(此例中為表型別),第二個是物件名(此例中即表名),第三個是物件所在的使用者名稱。.
要自己寫程式了,執行一段sql,讓sql查詢結果就是我們想要的sql指令碼:
如下:
從資料庫中匯出資料
首先開啟xp cmdshell許可權 exec sp configure show advanced options 1 reconfigure exec sp configure xp cmdshell 1 reconfigure 1,匯出資料到txt exec master.xp cmdshel...
從Oracle資料庫中匯出SQL指令碼
基本上用到的語法如下 a.獲取單個的建表和建索引的語法 set heading off set echo off set pages 999 set long 90000 spool dept.sqlselect dbms metadata.get ddl table dept scott from...
從資料庫中匯出資料庫文件
select case when a.colorder 1 then d.name else end n 表名 a.colorder n 字段序號 a.name n 欄位名 case when columnproperty a.id,a.name,isidentity 1 then else end...