【发布时间】:2011-10-29 19:35:37
【问题描述】:
使用下面的 SQL,可以获得给定物化视图的 DDL。
BEGIN
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'STORAGE', FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'TABLESPACE', FALSE);
DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM, 'SEGMENT_ATTRIBUTES', FALSE);
END;
SELECT DBMS_METADATA.GET_DDL('MATERIALIZED_VIEW', 'OBJECT_NAME', 'SCHEMA_NAME') FROM DUAL;
如果没有表空间信息,我很难检索 DDL。 SET_TRANSFORM_PARAM 指令实际上被记录为特定于表和索引(不是物化视图)。 STORAGE 确实有效,而 TABLESPACE 和 SEGMENT_ATTRIBUTES 则无效。有没有办法从生成的 DDL 中省略表空间信息?
【问题讨论】:
-
你在哪里运行代码,输出是什么样的?
标签: sql oracle ddl materialized-views