DROP TABLE

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

Поддерживается в версиях:  6.1 / 6.0 / 5.8 / 5.7 / 5.6.1 / 5.5 / 5.4 / 5.3 / 5.2 / 5.1 / 5.0.

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

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

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

  • пустой объект 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 задает датасорс, из которого удаляются данные логической таблицы. При удалении данных таблицы из последнего датасорса система также удаляет саму логическую таблицу из логической схемы данных. См. также параметр datasource_alias.

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

Ключевое слово 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