DROP MATERIALIZED VIEW
Содержание раздела
Поддерживается в версиях: 7.6 / 7.5 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.12 / 6.11 / 6.10 / 6.9 / 6.8 / 6.7 / 6.6 / 6.5 / 6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7 / 5.6 / 5.5 / 5.4 / 5.3 / 5.2 / 5.1 / 5.0.
Запрос удаляет материализованное представление и его данные.
Связанные запросы
- CREATE MATERIALIZED VIEW — создает представление;
- CHECK_MATERIALIZED_VIEW — возвращает информацию по представлению;
- SYNC_MATERIALIZED_VIEWS — однократно синхронизирует представления.
Как работает запрос
Регистрация запроса
Каждое удаление представления записывается в журнал, который доступен с помощью запроса GET_CHANGES.
Обработка запроса
Запрос попадает в очередь операций и обрабатывается в порядке его поступления в очередь.
Успешный результат
При успешном выполнении запроса система удаляет:
- материализованное представление из логической схемы данных;
- соответствующие физические таблицы из датасорсов хранилища данных;
- tslog-журнал представления из сервисной БД.
Запрос с LOGIСAL_ONLY не удаляет физические таблицы, но в остальном выполняется также.
Неуспешный результат
При ошибке исполнения корректного запроса система блокирует все последующие DDL-запросы в логической БД. О снятии такой блокировки см. в разделе Снятие блокировки DDL-запросов.
Синтаксис
DROP MATERIALIZED VIEW [IF EXISTS] [db_name.]materialized_view_name
[DATASOURCE_TYPE = 'destination_datasource']
[LOGICAL_ONLY]
Параметры:
db_name-
Имя логической базы данных, из которой удаляется материализованное представление. Опционально, если выбрана логическая БД, используемая по умолчанию.
materialized_view_name-
Имя удаляемого материализованного представления.
Ключевое слово IF EXISTS
Включает проверку наличия сущности с таким именем до попытки удаления материализованного представления. Если ключевое слово указано в запросе, успешный ответ возвращается при отсутствии или успешном удалении материализованного представления, иначе — только при успешном удалении материализованного представления.
Ключевое слово DATASOURCE_TYPE = 'destination_datasource'
Задает имя датасорса, из которого удаляются данные представления. Имя должно соответствовать конфигурации.
При удалении данных представления из последнего датасорса система также удаляет само материализованное представление из логической схемы данных.
Если ключевое слово не указано, данные представления удаляются изо всех датасорсов, в которых эти данные размещены.
Ключевое слово LOGICAL_ONLY
Позволяет удалить материализованное представление только на логическом уровне (из логической схемы данных), не обновляя физическую схему и не удаляя данные из хранилища данных.
Если ключевое слово не указано, материализованное представление удаляется на логическом и физическом уровнях.
Варианты ответа
В ответе возвращается:
- пустой объект ResultSet при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
Ограничения
- Выполнение запроса недоступно, если установлен запрет на изменение сущностей.
Примеры
Удаление представления с удалением данных из всех датасорсов
DROP MATERIALIZED VIEW matview_db.sales_and_stores
Удаление представления с проверкой его наличия
DROP MATERIALIZED VIEW IF EXISTS matview_db.mat_view_with_unknown_existence
Удаление представления с удалением данных из одного датасорса
DROP MATERIALIZED VIEW matview_db.sales_august_2020 DATASOURCE_TYPE = 'adg'
Удаление представления только на логическом уровне
DROP MATERIALIZED VIEW matview_db.stores_by_sold_products_matview LOGICAL_ONLY