Используя следующий 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? Функция