Бөлісу құралы:


DROP TABLE

Область применения:отмечено Databricks SQL отмечено Databricks Runtime

Удаляет таблицу и удаляет каталог, связанный с таблицей из файловой системы, если таблица не является таблицей EXTERNAL . Исключение возникает, если таблица не существует. Чтобы удалить таблицу, необходимо иметь права MANAGE в таблице, быть его владельцем, владельцем схемы, каталога или хранилища метаданных, в которой находится таблица.

В случае внешней таблицы из схемы хранилища метаданных удаляются только связанные сведения метаданных.

Все ограничения внешнего ключа, ссылающиеся на таблицу, также удаляются.

Если таблица кэшируется, команда удаляет её из кэша вместе со всеми её зависимостями.

Примечание.

Таблицы удаляются в течение 7–30 дней. Каталог Unity поддерживает UNDROP TABLE команду для восстановления удаленных управляемых таблиц в течение 7 дней. Через 7 дней исходные данные помечаются для удаления в облачном клиенте во время регулярного обслуживания таблиц.

Синтаксис

DROP TABLE [ IF EXISTS ] table_name [ FORCE ]
DROP {TEMP | TEMPORARY} TABLE table_name [IF EXISTS]

Параметр

  • TEMP или ВРЕМЕННЫЙ

    Область применения:отмечено «Да» Databricks SQL

    Это важно

    Эта функция доступна в общедоступной предварительной версии.

    При указании удаляет временную таблицу. Если в сеансе нет временной таблицы с этим именем, команда вызывает ошибку состояния ошибки TABLE_OR_VIEW_NOT_FOUND .

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

  • ЕСЛИ СУЩЕСТВУЕТ

    Если параметр задан, ошибка TABLE_OR_VIEW_NOT_FOUND не возникает, когда таблица не существует.

  • table_name

    Имя удаляемой таблицы. Имя не должно включать темпоральную спецификацию или спецификацию опций. Если таблица не найдена, 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;