获取完整的建表语句(包括索引、注释等)
-- 设置输出格式
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';
浙公网安备 33010602011771号