Oracle的DBMS_METADATA.GET_DDL()函式詳解
阿新 • • 發佈:2018-12-19
Oracle中獲取物件的DDL語句,可以通過DBMS_METADATA.GET_DDL()查詢到該物件的定義語句,具體SQL語句如下:
SELECT DBMS_METADATA.GET_DDL(OBJECT_TYPE, NAME, SCHEMA) FROM DUAL;
例子: 獲取表的ddl語句,表名為EXAMPLE
SELECT DBMS_METADATA.GET_DDL('TABLE', 'EXAMPLE') FROM DUAL;
上述傳入的引數含義如下:
· OBJECT_TYPE:物件的型別,如TABLE
、INDEX
、FUNTION
等;
· NAME: 物件名;
· SCHEMA:物件所在schema,預設為當前使用者所在schema;
此外可選引數還有:
VERSION:物件原資料的版本
MODEL:原資料的型別預設為Oracle
TRANSFORM:XSL-T transform. to be applied.
該函式返回的是CLOB資料。
OBJECT_TYPE的型別如下:
型別名 | 型別中文名 | 說明 |
---|---|---|
AQ_QUEUE | 佇列 | 依賴於表 |
AQ_QUEUE_TABLE | 隊列表 | 依賴於表 |
AQ_TRANSFORM | ||
ASSOCIATION | ||
AUDIT | SQL語句審計 | |
AUDIT_OBJ | ||
CLUSTER | ||
COMMENT | 註釋 | |
CONSTRAINT | 約束 | 不包括:索引組織表(IOT)的主鍵約束、列的非空約束、某些擁有REF列的表的REF SCOPE和WITH ROWID約束 |
CONTEXT | ||
DATABASE_EXPORT | ||
DB_LINK | 遠端連線定義 | |
DEFAULT_ROLE | 預設角色 | 通過ALTER賦予使用者 |
DIMENSION | 維 | |
DIRECTORY | 目錄 | |
FGA_POLICY | 細粒度審計策略 | |
FUNCTION | 函式 | |
INDEX_STATISTICS | ||
INDEX | 索引 | |
INDEXTYPE | ||
JAVA_SOURCE | ||
JOB | 定時任務 | |
LIBRARY | 庫 | |
MATERIALIZED_VIEW | 物化檢視 | |
MATERIALIZED_VIEW_LOG | 物化檢視日誌 | |
OBJECT_GRANT | ||
OPERATOR | ||
PACKAGE | 包 | |
PACKAGE_SPEC | ||
PACKAGE_BODY | 包體 | |
PROCEDURE | 儲存過程 | |
PROFILE | 配置檔案 | |
PROXY | 代理認證 | 通過ALTER賦予使用者 |
REF_CONSTRAINT | 外來鍵約束 | |
REFRESH_GROUP | ||
RESOURCE_COST | ||
RLS_CONTEXT | ||
RLS_GROUP | ||
RLS_POLICY | ||
RMGR_CONSUMER_GROUP | ||
RMGR_INTITIAL_CONSUMER_GROUP | ||
RMGR_PLAN | ||
RMGR_PLAN_DIRECTIVE | ||
ROLE | 角色 | |
ROLE_GRANT | ||
ROLLBACK_SEGMENT | ||
SCHEMA_EXPORT | ||
SEQUENCE | 序列 | |
SYNONYM | 同義詞 | |
SYSTEM_GRANT | 系統授權 | |
TABLE | 表 | |
TABLE_DATA | ||
TABLE_EXPORT | ||
TABLE_STATISTICS | ||
TABLESPACE | 表空間 | |
TABLESPACE_QUOTA | ||
TRANSPORTABLE_EXPORT | ||
TRIGGER | 觸發器 | |
TRUSTED_DB_LINK | ||
TYPE | 型別 | |
TYPE_SPEC | ||
TYPE_BODY | ||
USER | 使用者 | |
VIEW | 檢視 | |
XMLSCHEMA | ||
XS_USER | ||
XS_ROLE | ||
XS_ROLESET | ||
XS_ROLE_GRANT | ||
XS_SECURITY_CLASS | ||
XS_DATA_SECURITY | ||
XS_ACL | ||
XS_ACL_PARAM | ||
XS_NAMESPACE |