DROP TABLE

Содержание раздела
  1. Синтаксис
    1. Ключевое слово IF EXISTS
    2. Ключевое слово DATASOURCE_TYPE
    3. Ключевое слово LOGICAL_ONLY
  2. Ограничения
  3. Примеры
    1. Удаление таблицы с удалением данных из всех датасорсов
    2. Удаление таблицы и ее данных с проверкой наличия таблицы
    3. Удаление таблицы и ее данных из двух датасорсов
    4. Удаление таблицы только на логическом уровне

Запрос позволяет удалить логическую таблицу и ее данные.

Удаленные данные невозможно восстановить средствами системы.

Запрос попадает в очередь операций и обрабатывается в порядке его поступления в очередь. В ответе возвращается:

  • пустой объект ResultSet при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

Чтобы удалить данные логической таблицы только из определенного датасорса, укажите в запросе ключевое слово DATASOURCE_TYPE.

Ошибка выполнения корректного запроса блокирует последующие запросы в этой логической базе данных. В случае блокировки устраните причины сбоя и повторите сбойную операцию. Если повторение операции невозможно, удалите сбойную операцию запросом ERASE_CHANGE_OPERATION и вручную устраните несоответствия на физическом уровне (если такие есть).

Каждое удаление таблицы записывается в журнал. Журнал можно посмотреть с помощью запроса GET_CHANGES.

Синтаксис

DROP TABLE [IF EXISTS] [db_name.]table_name
[DATASOURCE_TYPE = datasource_alias]
[LOGICAL_ONLY]

Параметры:

db_name

Имя логической базы данных, из которой удаляется логическая таблица. Опционально, если выбрана логическая БД, используемая по умолчанию.

table_name

Имя удаляемой логической таблицы.

datasource_alias

Имя датасорса, из которого удаляются данные таблицы.
Указывается в одинарных кавычках (например, 'adg'). Варианты, которые остаются доступными, но могут быть удалены в будущем: значение без кавычек (например, adg) или в двойных кавычках (например, "adg").

Ключевое слово IF EXISTS

Ключевое слово IF EXISTS включает проверку наличия логической таблицы до попытки ее удаления. Если ключевое слово указано в запросе, система возвращает успешный ответ как по успешно удаленной, так и несуществующей таблице; иначе — только по успешно удаленной таблице.

Ключевое слово DATASOURCE_TYPE

Ключевое слово DATASOURCE_TYPE позволяет указать датасорс, из которого необходимо удалить данные логической таблицы. При удалении данных таблицы из последнего датасорса система также удаляет саму логическую таблицу из логической схемы данных.

Если ключевое слово не указано, данные таблицы удаляются из всех датасорсов, в которых эти данные размещены.

Ключевое слово LOGICAL_ONLY

Ключевое слово LOGICAL_ONLY позволяет удалить логическую таблицу только на логическом уровне (из логической схемы данных), без удаления связанных физических таблиц и размещенных в них данных из хранилища данных.

Если ключевое слово не указано, удаляется как логическая, так и связанные с ней физические таблицы.

Ограничения

Примеры

Удаление таблицы с удалением данных из всех датасорсов

DROP TABLE marketing.sales

Удаление таблицы и ее данных с проверкой наличия таблицы

DROP TABLE IF EXISTS marketing.sales_unknown_existence

Удаление таблицы и ее данных из двух датасорсов

-- удаление таблицы из датасорса adb
DROP TABLE marketing.stores DATASOURCE_TYPE = 'adb';

-- удаление таблицы из датасорса adg
DROP TABLE marketing.stores DATASOURCE_TYPE = 'adg';

Удаление таблицы только на логическом уровне

DROP TABLE marketing.sales1 LOGICAL_ONLY