获取完整的建表语句(包括索引、注释等)

-- 设置输出格式
BEGIN
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'SQLTERMINATOR', TRUE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'PRETTY', TRUE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'INCLUDE_INDEX', TRUE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'INCLUDE_COMMENT', TRUE);
END;
/

-- 获取表的 DDL
SELECT DBMS_METADATA.GET_DDL('TABLE', 'EMPLOYEES', 'SCOTT') FROM DUAL;

-- 获取索引的 DDL
SELECT DBMS_METADATA.GET_DDL('INDEX', INDEX_NAME, 'SCOTT')
FROM USER_INDEXES
WHERE TABLE_NAME = 'EMPLOYEES';

-- 获取注释
SELECT 'COMMENT ON TABLE EMPLOYEES IS ''' || COMMENTS || '''' AS COMMENTS
FROM USER_TAB_COMMENTS
WHERE TABLE_NAME = 'EMPLOYEES';

SELECT 'COMMENT ON COLUMN EMPLOYEES.' || COLUMN_NAME || ' IS ''' || COMMENTS || '''' AS COMMENTS
FROM USER_COL_COMMENTS
WHERE TABLE_NAME = 'EMPLOYEES';

posted on 2024-10-25 09:42  属于我的梦,明明还在  阅读(373)  评论(0)    收藏  举报