從oracle資料庫中匯出建表的sql指令碼

2021-06-16 14:19:06 字數 1195 閱讀 8423

基本上用到的語法如下: 

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...