Udostępnij przez


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

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

    Ważne

    Ta funkcja jest dostępna w publicznej wersji testowej.

    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 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;