【问题标题】:Remove tablespace,storage and other info from Materialized View DDL从物化视图 DDL 中删除表空间、存储和其他信息
【发布时间】:2017-12-27 10:11:22
【问题描述】:

如何仅提取物化视图 DDL 中的 select 查询?

我可以通过设置以下参数只删除表空间:

EXECUTE DBMS_METADATA.SET_TRANSFORM_PARAM (
     transform_handle => dbms_metadata.session_transform, 
     name => 'TABLESPACE', 
     value => false, 
     object_type =>'MATERIALIZED_VIEW');

【问题讨论】:

    标签: sql oracle ddl materialized-views


    【解决方案1】:
         begin DBMS_METADATA.SET_TRANSFORM_PARAM (
             transform_handle => dbms_metadata.session_transform, 
             name => 'SEGMENT_ATTRIBUTES', 
             value => false, 
             object_type =>'MATERIALIZED_VIEW');
        end;
    select dbms_metadata.get_ddl('MATERIALIZED_VIEW' ,'<your_view>') from dual
    

    SEGMENT_ATTRIBUTES - 设置为 false 应该会有所帮助。

    但如果你只想提取查询,你应该这样做。 select query from dba_mviews where MVIEW_NAME = '&lt;your_view&gt;';

    【讨论】:

    • 出于某种原因,SEGMENT_ATTRIBUTES - 设置为 false 不会从 get_ddl 输出中删除“ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255”等属性。
    猜你喜欢
    • 2011-10-29
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多