• 格式化dbms_metadata.get_ddl输出


    格式化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

  • 相关阅读:
    SysUtils.StringReplace 替换
    SysUtils.UpperCase、SysUtils.LowerCase 大小写转换
    StrUtils.ReverseString 翻转字符串
    [转][文摘20070307]一个总裁做企业的10条心得
    [引]ASP.NET 中 事务处理(SqlTransaction)示例
    荀子《劝学》
    asp.net相关控件的客户端及服务器端的禁用和启用
    [引]生成加密和解密的密钥
    将VS2005的WEB程序 安装到其他电脑上 以及引用WebService 的大概步骤
    ASP.NET通过Global.asax和Timer定时器 定时调用WebService 运行后台代码
  • 原文地址:https://www.cnblogs.com/halberd-lee/p/12904278.html
Copyright © 2020-2023  润新知