首页 > 数据库技术 > 详细

格式化dbms_metadata.get_ddl输出

时间:2020-05-17 11:07:44      阅读:55      评论:0      收藏:0      [点我收藏+]

格式化dbms_metadata.get_ddl输出

我们经常会使用 dbms_metadat.get_ddl包来做一些事情,比如取出对象的创建语句。但是有时候输出的语法冗长,不美观,没有分号,输出的表空间和存储信息 可能我们根本不需要关心。那么怎么控制dbms_metadata.get_ddl输出的内容和格式呢?

可以使用包 dbms_metadata.set_transform_param 来帮我们实现。

常用的几个配置如下:

--输出信息采用缩排或换行格式化

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘PRETTY‘, TRUE);

--确保每个语句都带分号

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘SQLTERMINATOR‘, TRUE);

--关闭表索引、外键等关联(后面单独生成)

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘CONSTRAINTS‘, FALSE);

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘REF_CONSTRAINTS‘, FALSE);

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘CONSTRAINTS_AS_ALTER‘, FALSE);

--关闭存储、表空间属性

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘STORAGE‘, FALSE);

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘TABLESPACE‘, FALSE);

--关闭创建表的PCTFREE、NOCOMPRESS等属性

EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, ‘SEGMENT_ATTRIBUTES‘, FALSE);

Author: halberd.lee

Created: 2020-05-17 Sun 10:56

Validate

格式化dbms_metadata.get_ddl输出

原文:https://www.cnblogs.com/halberd-lee/p/12904278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!