DROP TABLE
Запрос позволяет удалить логическую таблицу и ее данные.
В ответе возвращается:
- пустой объект ResultSet при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
Для удаления данных логической таблицы только из некоторых СУБД хранилища можно указать ключевое слово DATASOURCE_TYPE
(см. секцию Ключевое слово DATASOURCE_TYPE).
Внимание: удаленные данные невозможно восстановить средствами системы. Удаление данных из СУБД хранилища, используемых для выгрузки данных, приведет к невозможности выгрузки этих данных. Подробнее о СУБД, из которых можно выгружать данные, см. в разделе INSERT INTO download_external_table.
Синтаксис
DROP TABLE [IF EXISTS] [db_name.]table_name
[DATASOURCE_TYPE = datasource_alias]
[LOGICAL_ONLY]
Где:
db_name
— имя логической базы данных, из которой удаляется логическая таблица. Указывается опционально, если выбрана логическая БД, используемая по умолчанию;table_name
— имя удаляемой логической таблицы;datasource_alias
— псевдоним СУБД хранилища, из которой удаляются данные логической таблицы. Возможные значения:adb
,adqm
,adg
,adp
. Значение можно указывать без кавычек, в одинарных кавычках (например,'adb'
) или двойных кавычках (например,"adb"
). Если ключевое словоDATASOURCE_TYPE
с псевдонимом не указано, данные удаляются из всех СУБД хранилища.
Ключевое слово IF EXISTS
Ключевое слово IF EXISTS
включает проверку наличия логической таблицы до попытки ее удаления. Если ключевое слово указано в запросе, система возвращает успешный ответ как по успешно удаленной, так и несуществующей таблице; иначе — только по успешно удаленной таблице.
Ключевое слово DATASOURCE_TYPE
Ключевое слово DATASOURCE_TYPE
позволяет указать СУБД хранилища, из которых необходимо удалить данные логической таблицы. Сама логическая таблица удаляется из логической схемы данных при удалении данных таблицы из последней СУБД хранилища.
Если ключевое слово не указано, данные таблицы удаляются из всех СУБД хранилища.
Ключевое слово LOGICAL_ONLY
Ключевое слово LOGICAL_ONLY
позволяет удалить логическую таблицу только на логическом уровне (из логической схемы данных), без удаления связанных физических таблиц и размещенных в них данных из хранилища данных.
Если ключевое слово не указано, удаляется как логическая, так и связанные с ней физические таблицы.
Примеры
Удаление таблицы с удалением данных из всех СУБД
DROP TABLE sales.sales
Удаление таблицы и ее данных с проверкой наличия таблицы
DROP TABLE IF EXISTS sales.sales_unknown_existence
Удаление таблицы с удалением данных из ADB и ADG
DROP TABLE sales.stores DATASOURCE_TYPE = adb
DROP TABLE sales.stores DATASOURCE_TYPE = adg
Удаление таблицы только на логическом уровне
DROP TABLE sales.sales1 LOGICAL_ONLY