Oracle dbms_metadata.get_ddl 获取对象DDL

常用的通过dbms_metadata.get_ddl查询对象DDL的语句,简录一下:

set linesize 200 
set pagesize 0
set long 90000
set heading off
set feedback off
col ddl for a200 wrapped word
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',FALSE);
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'PRETTY',true);
EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR',true);
select dbms_metadata.get_ddl('TABLE', 'TABLE_NAME', 'XXX') ddl from dual;

一般会使用user_tables表或者user_objects表做批量查询
使用spool保存到文件中,使用sed命令做处理,最终处理成期望的ddl脚本

猜你喜欢

转载自blog.csdn.net/zwjzqqb/article/details/80110728