Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
Databricks SQL
Databricks Runtime
Удаляет таблицу и удаляет каталог, связанный с таблицей из файловой системы, если таблица не является таблицей EXTERNAL . Исключение возникает, если таблица не существует.
Чтобы удалить таблицу, необходимо иметь права MANAGE в таблице, быть его владельцем, владельцем схемы, каталога или хранилища метаданных, в которой находится таблица.
В случае внешней таблицы из схемы хранилища метаданных удаляются только связанные сведения метаданных.
Все ограничения внешнего ключа, ссылающиеся на таблицу, также удаляются.
Если таблица кэшируется, команда удаляет её из кэша вместе со всеми её зависимостями.
Примечание.
Таблицы удаляются в течение 7–30 дней. Каталог Unity поддерживает UNDROP TABLE команду для восстановления удаленных управляемых таблиц в течение 7 дней. Через 7 дней исходные данные помечаются для удаления в облачном клиенте во время регулярного обслуживания таблиц.
Синтаксис
DROP [ TEMPORARY ] TABLE [ IF EXISTS ] table_name [ FORCE ]
Параметр
ВРЕМЕННЫЙ
Применяется к:
Databricks SQL
Databricks Runtime 17.3 и более поздним версиямУдаляет таблицу
TEMPORARY.ЕСЛИ СУЩЕСТВУЕТ
Если параметр задан, ошибка TABLE_OR_VIEW_NOT_FOUND не возникает, когда таблица не существует.
-
Имя удаляемой таблицы. Имя не должно включать темпоральную спецификацию или спецификацию опций. Если таблица не найдена, Azure Databricks вызывает ошибку TABLE_OR_VIEW_NOT_FOUND. Если обнаруженная связь не является таблицей Azure Databricks, возникает ошибка WRONG_COMMAND_FOR_OBJECT_TYPE .
СИЛА
Если задано, таблица может быть удалена даже в том случае, если она зависит от мелких клонов. Это применимо только для управляемых таблиц каталога Unity. См. раздел "Удалить базовую таблицу" для мелкого клона.
Примеры
-- Assumes a table named `employeetable` exists.
> DROP TABLE employeetable;
-- Assumes a table named `employeetable` exists in the `userdb` schema
> DROP TABLE userdb.employeetable;
-- Assumes a table named `employeetable` does not exist.
-- Throws TABLE_OR_VIEW_NOT_FOUND
> DROP TABLE employeetable;
Error: TABLE_OR_VIEW_NOT_FOUND
-- Assumes a table named `employeetable` does not exist,Try with IF EXISTS
-- this time it will not throw exception
> DROP TABLE IF EXISTS employeetable;
-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Throws CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE
> DROP TABLE employeetable;
Error: CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE
-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Drops base table, but shallow clones referencing this base table will no longer work
> DROP TABLE employeetable FORCE;
-- Creates and drops a temporary table
> CREATE TEMPORARY TABLE scratchpad(txt STRING);
> DROP TEMPORARY TABLE scratchpad;