搬運工,oracle獲得ddl語句
dbms_metadata.get_ddl()用於獲取物件的DDL,其具體用法如下。
注意:在sqlplus裡,為了更好的展示DDL,需要設定如下引數:
set line 200
set pagesize 0
set long 99999
set feedback off
set echo off
1)獲得表、索引、檢視、儲存過程、函式的DDL
select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;
select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual;
select dbms_metadata.get_ddl('VIEW','VIEW_NAME','VIEW_OWNER') from dual;
select dbms_metadata.get_ddl('PROCEDURE','PROCEDURE_NAME','PROCEDURE_OWNER') from dual;
select dbms_metadata.get_ddl('FUNCTION','FUNCTION_NAME','FUNCTION_OWNER') from dual;
下面這個指令碼用於獲得某個schema下所有的表、索引、檢視、儲存過程、函式的DDL
set pagesize 0
set long 90000
set feedback off
set echo off
spool schema_ddl.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name,u.owner) FROM DBA_TABLES u;
SELECT DBMS_METADATA.GET_DDL('VIEW',u.view_name,u.owner) FROM DBA_VIEWS u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name,u.owner) FROM DBA_INDEXES u;
select dbms_metadata.get_ddl('PROCEDURE',u.object_name, u.owner,) from dba_objects u where u.object_type = 'PROCEDURE';
select dbms_metadata.get_ddl('FUNCTION',u.object_name, u.owner,) from dba_objects u where u.object_type = 'FUNCTION';
spool off;
2)獲得表空間的DDL
獲得單個表空間的DDL:
select dbms_metadata.get_ddl('TABLESPACE','TBS_NAME') from dual;
獲得所有表空間的DDL:
SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS;
3)獲得使用者的DDL
獲得單個使用者的DDL:
select dbms_metadata.get_ddl('USER','EPAY_USER') from dual;
獲得所有使用者的DDL:
SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;
注意:在sqlplus裡,為了更好的展示DDL,需要設定如下引數:
複製程式碼程式碼如下:
set line 200
set pagesize 0
set long 99999
set feedback off
set echo off
1)獲得表、索引、檢視、儲存過程、函式的DDL
複製程式碼程式碼如下:
select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;
select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual;
select dbms_metadata.get_ddl('VIEW','VIEW_NAME','VIEW_OWNER') from dual;
select dbms_metadata.get_ddl('PROCEDURE','PROCEDURE_NAME','PROCEDURE_OWNER') from dual;
select dbms_metadata.get_ddl('FUNCTION','FUNCTION_NAME','FUNCTION_OWNER') from dual;
下面這個指令碼用於獲得某個schema下所有的表、索引、檢視、儲存過程、函式的DDL
複製程式碼程式碼如下:
set pagesize 0
set long 90000
set feedback off
set echo off
spool schema_ddl.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name,u.owner) FROM DBA_TABLES u;
SELECT DBMS_METADATA.GET_DDL('VIEW',u.view_name,u.owner) FROM DBA_VIEWS u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name,u.owner) FROM DBA_INDEXES u;
select dbms_metadata.get_ddl('PROCEDURE',u.object_name, u.owner,) from dba_objects u where u.object_type = 'PROCEDURE';
select dbms_metadata.get_ddl('FUNCTION',u.object_name, u.owner,) from dba_objects u where u.object_type = 'FUNCTION';
spool off;
2)獲得表空間的DDL
獲得單個表空間的DDL:
複製程式碼程式碼如下:
select dbms_metadata.get_ddl('TABLESPACE','TBS_NAME') from dual;
獲得所有表空間的DDL:
複製程式碼程式碼如下:
SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS;
3)獲得使用者的DDL
獲得單個使用者的DDL:
複製程式碼程式碼如下:
select dbms_metadata.get_ddl('USER','EPAY_USER') from dual;
獲得所有使用者的DDL:
複製程式碼程式碼如下:
SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29135257/viewspace-1978250/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 獲取ddl語句Oracle
- DBMS_METADATA包獲得物件DDL語句物件
- oracle之 獲取建表ddl語句Oracle
- oracle dbms_metadata 獲取ddl語句Oracle
- 通過DBMS_METADATA.GET_DDL包獲得相關物件ddl語句物件
- Oracle中獲取TABLE的DDL語句的方法Oracle
- oracle回收站,搬運工Oracle
- dbms_metadata.get_ddl()來獲得物件的定義語句物件
- 獲取物件DDL語句的方法物件
- 用dbms_metadata.get_ddl獲取ddl語句
- oracle自定義過程來獲得完整的sql語句OracleSQL
- oracle檢視建立物件的DDL語句Oracle物件
- Oracle利用dbms_metadata.get_ddl檢視DDL語句Oracle
- 通過dblink獲取遠端DDL語句
- Oracle 儲存過程中的DDL語句Oracle儲存過程
- 列出oracle dbtime得sql語句OracleSQL
- Oracle從dump檔案中提取DDL語句方法Oracle
- 執行oracle DDL語句要注意的問題Oracle
- PL/SQL與DDL語句SQL
- 社群使用筆記 - 新手搬運工筆記
- oracle使用dbms_metadata.get_ddl包檢視DDL語句定義Oracle
- 【SCRIPTS】兩種自動化獲得Oracle授權語句的指令碼Oracle指令碼
- 網際網路的搬運工,搬運來5款好用的軟體
- 再論執行oracle DDL語句要注意的問題Oracle
- Oracle 從Dump 檔案裡提取 DDL 語句 方法說明Oracle
- 利用dbms_metadata.get_ddl檢視DDL語句
- 如何獲取expdp出來的dmp檔案中的DDL語句
- 獲得目標SQL語句執行計劃的方法SQL
- 指令碼:獲得現有語句的執行計劃指令碼
- oracle獲取ddl指令碼Oracle指令碼
- 6.3. 基本SQL語句——6.3.1. DDLSQL
- 使用資料泵匯出DDL語句
- MySQL入門---(一)SQL的DDL語句MySql
- 實時獲得最耗CPU資源的SQL語句(zt)SQL
- 根據SQL Id獲得SQL語句的執行計劃SQL
- Oracle vs PostgreSQL,研發注意事項(2)-DDL語句與事務OracleSQL
- Android修煉之Pie 適配的搬運工Android
- 大牛與搬運工的差距——學習方法的力量