Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Databricks Runtime
Usuwa tabelę i usuwa katalog skojarzony z tabelą z systemu plików, jeśli tabela nie jest tabelą EXTERNAL . Jeśli tabela nie istnieje, zostanie zgłoszony wyjątek.
Aby usunąć tabelę, musisz mieć uprawnienia MANAGE w tabeli, być jego właścicielem lub właścicielem schematu, wykazu lub magazynu metadanych, w którym znajduje się tabela.
W przypadku tabeli zewnętrznej tylko skojarzone informacje o metadanych są usuwane ze schematu magazynu metadanych.
Wszelkie ograniczenia klucza obcego odwołujące się do tabeli również są porzucane.
Jeśli tabela jest buforowana, polecenie usuwa tabelę i wszystkie jej zależności.
Uwaga
Tabele są usuwane w ciągu od 7 do 30 dni. Katalog Unity obsługuje polecenie UNDROP TABLE umożliwiające odzyskanie usuniętych tabel zarządzanych w ciągu 7 dni. Po upływie 7 dni dane źródłowe są oznaczone do usunięcia z dzierżawy chmury podczas zwykłych operacji konserwacji tabel.
Składnia
DROP [ TEMPORARY ] TABLE [ IF EXISTS ] table_name [ FORCE ]
Parametr
TYMCZASOWY
Dotyczy:
Databricks SQL
Databricks Runtime 17.3 lub nowszyUsuwa tabelę
TEMPORARY.JEŚLI ISTNIEJE
Jeśli zostanie to określone, nie zostanie zgłoszony żaden błąd TABLE_OR_VIEW_NOT_FOUND, gdy tabela nie istnieje.
-
Nazwa tabeli, która ma zostać usunięta. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji. Jeśli nie można odnaleźć tabeli, usługa Azure Databricks zgłosi błąd TABLE_OR_VIEW_NOT_FOUND. Jeśli znaleziona relacja nie jest tabelą, usługa Azure Databricks zgłasza błąd WRONG_COMMAND_FOR_OBJECT_TYPE .
SIŁA
Jeśli to określono, tabela może zostać usunięta, nawet jeśli ma zależne płytkie klony. Dotyczy to tylko tabel zarządzanych przez Unity Catalog. Zobacz Usuwanie tabeli bazowej dla płytkiego klonu.
Przykłady
-- 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;