DROP MATERIALIZED VIEW
Содержание раздела
Запрос позволяет удалить материализованное представление и его данные.
В ответе возвращается:
- пустой объект ResultSet при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
Если при обработке запроса произошла ошибка, изменение сущностей логической базы данных становится недоступно. В этом случае нужно выполнить запрос ERASE_CHANGE_OPERATION.
Каждое удаление представления записывается в журнал. Журнал можно посмотреть с помощью запроса GET_CHANGES.
Синтаксис
DROP MATERIALIZED VIEW [IF EXISTS] [db_name.]materialized_view_name
[DATASOURCE_TYPE = datasource_alias]
[LOGICAL_ONLY]
Параметры:
db_name
-
Имя логической базы данных, из которой удаляется материализованное представление. Опционально, если выбрана логическая БД, используемая по умолчанию.
table_name
-
Имя удаляемого материализованного представления.
datasource_alias
-
Псевдоним СУБД хранилища, из которой удаляются данные материализованного представления. Возможные значения:
adqm
,adg
. Значение можно указывать без кавычек, в одинарных кавычках (например,'adg'
) или двойных кавычках (например,"adg"
).
Если ключевое словоDATASOURCE_TYPE
с псевдонимом не указано, данные удаляются из всех СУБД хранилища.
Ключевое слово IF EXISTS
Ключевое слово IF EXISTS
включает проверку наличия материализованного представления до попытки его удаления. Если ключевое слово указано в запросе, система возвращает успешный ответ как по успешно удаленному, так и несуществующему представлению; иначе — только по успешно удаленному представлению.
Ключевое слово DATASOURCE_TYPE
Ключевое слово DATASOURCE_TYPE
позволяет указать СУБД хранилища, из которых необходимо удалить данные материализованного представления. В текущей версии данные представления могут размещаться в ADG и (или) ADQM. Само материализованное представление удаляется из логической схемы данных при удалении его данных из последней СУБД хранилища.
Если ключевое слово не указано, данные представления удаляются из всех СУБД хранилища.
Ключевое слово LOGICAL_ONLY
Ключевое слово LOGICAL_ONLY
позволяет удалить материализованное представление только на логическом уровне (из логической схемы данных), без удаления связанных физических таблиц и размещенных в них данных из хранилища данных.
Если ключевое слово не указано, удаляется как материализованное представление, так и связанные с ним физические таблицы.
Ограничения
- Выполнение запроса недоступно при наличии любого из факторов:
- горячей дельты,
- незавершенного запроса на создание, удаление или изменение таблицы или представления,
- запрета на изменение сущностей (см. раздел DENY_CHANGES).
- Выполнение запроса недоступно в сервисной базе данных
INFORMATION_SCHEMA
.
Примеры
Удаление представления с удалением данных из всех СУБД
DROP MATERIALIZED VIEW marketing.sales_and_stores
Удаление представления с проверкой его наличия
DROP MATERIALIZED VIEW IF EXISTS marketing.mat_view_with_unknown_existence
Удаление представления с удалением данных из ADG
DROP MATERIALIZED VIEW marketing.sales_and_stores DATASOURCE_TYPE = 'adg'
Удаление представления только на логическом уровне
DROP MATERIALIZED VIEW marketing.stores_by_sold_products_matview LOGICAL_ONLY