DROP TABLE

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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

Katalog aparatu Unity obsługuje UNDROP TABLE polecenie w celu odzyskania usuniętych tabel zarządzanych. Domyślnie tabele można odzyskać przez 7 dni po usunięciu i możesz skonfigurować okres odzyskiwania na poziomie katalogu lub schematu na 0 (aby wyłączyć odzyskiwanie) lub od 7 do 30 dni. Konfiguracja okresu regeneracji znajduje się w Public Preview. Proces asynchronicznego czyszczenia na stałe usuwa pliki danych po zakończeniu okresu odzyskiwania, dzięki czemu pliki mogą pozostać w Twoim dzierżawcu chmurowym przez pewien czas po tym, jak tabela nie będzie już możliwa do odzyskania. Zobacz Usuwanie zarządzanej tabeli i cyklu życia magazynu obiektów w katalogu aparatu Unity.

Składnia

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

Parametr

  • TEMP lub TYMCZASOWY

    Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL

    Jeśli zostanie określona, pomiń tabelę tymczasową. Jeśli w sesji nie istnieje żadna tymczasowa tabela o tej nazwie, polecenie zgłasza błąd TABLE_OR_VIEW_NOT_FOUND warunku błędu .

    Jeśli nie zostanie określony, polecenie usuwa tylko stałą tabelę i zgłasza błąd, jeśli w sesji istnieje tymczasowa tabela o tej samej niekwalifikowanej nazwie. Aby usunąć tabelę stałą, gdy tabela tymczasowa ma taką samą nazwę, użyj nazwy kwalifikowanej.

  • 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.

  • table_name

    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 jest to wskazane, usuwa zarządzaną tabelę Unity Catalog nawet wtedy, gdy ma zależne płytkie klony. FORCE jest wymagany tylko wtedy, gdy przestrzeń robocza wymusza ochronę przed czasem dropu dla płytkich klonów. Jeśli zwykłe DROP TABLE zawiodło z CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE, użyj FORCE do nadpisania go. 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.
-- Where the workspace enforces drop-time protection for shallow clones,
-- a plain DROP 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 the base table even when it has shallow clones. The referencing shallow clones stop working.
> DROP TABLE employeetable FORCE;

-- Creates and drops a temporary table
> CREATE TEMPORARY TABLE scratchpad(txt STRING);
> DROP TEMPORARY TABLE scratchpad;