從Oracle資料庫中匯出SQL指令碼
從Oracle資料庫中匯出SQL指令碼[@more@]基本上用到的語法如下:
a. 獲取單個的建表和建索引的語法
set heading off;
set echo off;
Set pages 999;
set long 90000;
spool DEPT.
select 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.
connect scott/tiger;
DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u;
DBMS_METADATA.GET_DDL('INDEX',u.index_name)
FROM USER_INDEXES u;
spool off;
c. 獲取某個SCHEMA的建全部儲存過程的語法
connect brucelau /brucelau;
spool procedures.
select
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定義的物件型別(此例中為表型別),第二個是物件名(此例中即表名),第三個是物件所在的使用者名稱。.
a. 獲取單個的建表和建索引的語法
set heading off;
set echo off;
Set pages 999;
set long 90000;
spool DEPT.
select 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.
connect scott/tiger;
DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u;
DBMS_METADATA.GET_DDL('INDEX',u.index_name)
FROM USER_INDEXES u;
spool off;
c. 獲取某個SCHEMA的建全部儲存過程的語法
connect brucelau /brucelau;
spool procedures.
select
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指令碼:
如下:
select
'INSERT INTO B_STATTEMPLATE ( N_ID,C_NAME, C_KBH, N_PRINT, N_TYPE, N_APP, N_VALID ) '
|| 'Values (' || To_Char(N_ID) ||',''' || C_NAME || ''', ''' || C_KBH || ''', '
|| To_Char( N_PRINT ) || ', ' || To_Char( N_TYPE ) || ', ' || '0, 0 );'
from b_stattemplate
'INSERT INTO B_STATTEMPLATE ( N_ID,C_NAME, C_KBH, N_PRINT, N_TYPE, N_APP, N_VALID ) '
|| 'Values (' || To_Char(N_ID) ||',''' || C_NAME || ''', ''' || C_KBH || ''', '
|| To_Char( N_PRINT ) || ', ' || To_Char( N_TYPE ) || ', ' || '0, 0 );'
from b_stattemplate
將查詢結果儲存起來就可以了!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199667/viewspace-1018539/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL匯出資料庫指令碼MySql資料庫指令碼
- Oracle expdp/impdp匯入匯出備份資料庫指令碼Oracle資料庫指令碼
- 在SQL Server資料庫中匯入匯出資料SQLServer資料庫
- 資料匯出shell指令碼(上)指令碼
- SQL資料庫的匯入和匯出SQL資料庫
- oracle資料庫匯入匯出命令!Oracle資料庫
- 【AWR】Oracle資料庫匯出效能報告幾個指令碼的小說明Oracle資料庫指令碼
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- 從Oracle資料庫中批量抓取Trigger指令碼的方法Oracle資料庫指令碼
- 【Oracle】--PL/SQL匯入Oracle sql指令碼"傻瓜教程"OracleSQL指令碼
- 從cmd中匯入.SQL檔案並建立資料庫SQL資料庫
- Excel匯入Sqlserver資料庫指令碼ExcelSQLServer資料庫指令碼
- SQL Server資料庫匯入匯出資料方式比較SQLServer資料庫
- 如何從redis中匯出資料Redis
- ORACLE資料庫裡表匯入SQL Server資料庫Oracle資料庫SQLServer
- Oracle Sql loader 匯入資料指令碼的編寫過程OracleSQL指令碼
- 匯出Sql server 2005資料庫中某表的資料SQLServer資料庫
- Oracle:從SQL檔案批量匯入資料OracleSQL
- 資料庫SQL Server DAC 匯入匯出資料到SQL Azure問題資料庫SQLServer
- Oracle pl/sql 複製表 資料匯入 匯出OracleSQL
- 在SQL Server資料庫中匯入MySQL資料庫Server資料庫MySql
- Oracle資料庫的匯入和匯出命令Oracle資料庫
- 將informix匯出的文字資料匯入oracle資料庫ORMOracle資料庫
- 教你從SQL備份檔案中匯入現存資料庫中SQL資料庫
- Sql Server資料庫資料匯入到SQLite資料庫中Server資料庫SQLite
- ORACLE從資料庫中獲取已存在的TABPLESPACE及INDEX建立指令碼Oracle資料庫Index指令碼
- Oracle匯出資料庫與還原Oracle資料庫
- SQL Server 2008匯入、匯出資料庫SQLServer資料庫
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- 資料庫效能SQL監控指令碼資料庫SQL指令碼
- Oracle資料庫——資料匯出時出現匯出成功終止, 但出現警告。Oracle資料庫
- 指令碼建立Oracle的資料庫指令碼Oracle資料庫
- EBS 10g/11g 資料庫匯出匯入遷移指令碼 - transform資料庫指令碼ORM
- unix、linux oracle rman匯出指令碼LinuxOracle指令碼
- Oracle 資料匯入匯出Oracle
- Oracle資料匯入匯出Oracle
- 遠端登入server匯出linux下oracle資料庫中的資料並從本地下載ServerLinuxOracle資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql