[Oracle] dbms_metadata.get_ddl 的使用方法總結(jié)
注意:在sqlplus里,為了更好的展示DDL,需要設(shè)置如下參數(shù):
set line 200
set pagesize 0
set long 99999
set feedback off
set echo off
1)獲得表、索引、視圖、存儲(chǔ)過(guò)程、函數(shù)的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;
下面這個(gè)腳本用于獲得某個(gè)schema下所有的表、索引、視圖、存儲(chǔ)過(guò)程、函數(shù)的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
獲得單個(gè)表空間的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)獲得用戶(hù)的DDL
獲得單個(gè)用戶(hù)的DDL:
select dbms_metadata.get_ddl('USER','EPAY_USER') from dual;
獲得所有用戶(hù)的DDL:
SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;
相關(guān)文章
navicat導(dǎo)入oracle導(dǎo)出的dmp文件
現(xiàn)在工作中常用Oracle數(shù)據(jù)庫(kù),但是查詢(xún)工具還是Navicat最好用,不論是數(shù)據(jù)導(dǎo)入導(dǎo)出,還是執(zhí)行語(yǔ)句,都很清晰明了,下面這篇文章主要給大家介紹了關(guān)于navicat導(dǎo)入oracle導(dǎo)出的dmp文件的相關(guān)資料,需要的朋友可以參考下2023-05-05
解決Oracle安裝遇到Enterprise Manager配置失敗問(wèn)題
這篇文章主要介紹了Oracle安裝遇到Enterprise Manager配置失敗問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
11g Oracle導(dǎo)出表不導(dǎo)出數(shù)據(jù)默認(rèn)為空表的解決方法
11g Oracle導(dǎo)出表 默認(rèn)不導(dǎo)出數(shù)據(jù)為空的表解決2014-07-07
oracle sql 去重復(fù)記錄不用distinct如何實(shí)現(xiàn)
本文將詳細(xì)介紹oracle sql 去重復(fù)記錄不用distinct如何實(shí)現(xiàn),需要了解的朋友可以參考下2012-11-11
oracle中commit之后進(jìn)行數(shù)據(jù)回滾的方法
這篇文章主要介紹了oracle中commit之后如何進(jìn)行數(shù)據(jù)回滾,本文給大家分享兩種方法,每種方法都給大家介紹的比較詳細(xì),需要的朋友可以參考下2021-12-12
Oracle監(jiān)聽(tīng)注冊(cè)的實(shí)現(xiàn)
Oracle數(shù)據(jù)庫(kù)的注冊(cè)監(jiān)聽(tīng)功能是Oracle數(shù)據(jù)庫(kù)管理的一個(gè)重要組成部分,它允許數(shù)據(jù)庫(kù)實(shí)例接收來(lái)自客戶(hù)端請(qǐng)求,并且可以自動(dòng)恢復(fù)數(shù)據(jù)庫(kù)服務(wù),感興趣的可以了解一下2023-12-12
oracle數(shù)據(jù)庫(kù)查詢(xún)所有表名和注釋等
這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫(kù)查詢(xún)所有表名和注釋等的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-04-04
Oracle數(shù)據(jù)庫(kù)"記錄被另一個(gè)用戶(hù)鎖住"解決方法(推薦)
數(shù)據(jù)庫(kù)是一個(gè)多用戶(hù)使用的共享資源。當(dāng)多個(gè)用戶(hù)并發(fā)地存取數(shù)據(jù)時(shí),在數(shù)據(jù)庫(kù)中就會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況。這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)"記錄被另一個(gè)用戶(hù)鎖住"解決方法2018-03-03
sql查詢(xún)給表起別名要點(diǎn)小結(jié)(涉及嵌套查詢(xún))
通過(guò)使用 SQL,可以為表名稱(chēng)或列名稱(chēng)指定別名,下面這篇文章主要給大家介紹了關(guān)于sql查詢(xún)給表起別名要點(diǎn)(涉及嵌套查詢(xún))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09

