DROP TABLE

Platí pro:zatrženo ano Databricks SQL zatrženo ano Databricks Runtime

Odstraní tabulku a odebere adresář přidružený k tabulce ze systému souborů, pokud tabulka není EXTERNAL tabulka. Pokud tabulka neexistuje, vyvolá se výjimka. Pokud chcete odstranit tabulku, musíte mít oprávnění k MANAGE tabulky, být jeho vlastníkem nebo vlastníkem schématu, katalogu nebo metastoru, ve kterém se tabulka nachází.

V případě externí tabulky se ze schématu metastoru odeberou pouze přidružené informace o metadatech.

Všechna omezení cizího klíče odkazující na tabulku se také zahodí.

Pokud je tabulka uložena do mezipaměti, příkaz zruší mezipaměť tabulky a všechny její závislé položky.

Poznámka:

Katalog Unity podporuje UNDROP TABLE příkaz k obnovení vyřazených spravovaných tabulek. Ve výchozím nastavení se tabulky dají obnovit po dobu 7 dnů po vyřazení. Po skončení období obnovení se podkladové datové soubory trvale odstraní z vašeho cloudového tenanta do 48 hodin. Období obnovení můžete nakonfigurovat na úrovni katalogu nebo schématu. Viz Vyřazení spravované tabulky a životního cyklu úložiště objektů v katalogu Unity.

Syntaxe

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

Parametr

  • TEMP nebo DOČASNÝ

    Platí pro:označeno jako „ano“ Databricks SQL

    Pokud je tato hodnota zadaná, zahodí dočasnou tabulku. Pokud v relaci neexistuje žádná dočasná tabulka s tímto názvem, příkaz vyvolá chybu TABLE_OR_VIEW_NOT_FOUND chybového stavu .

    Pokud není zadaný, příkaz zahodí pouze trvalou tabulku a vyvolá chybu, pokud v relaci existuje dočasná tabulka se stejným nekvalifikovaným názvem. Pokud chcete odstranit trvalou tabulku, když dočasná tabulka sdílí stejný název, použijte kvalifikovaný název.

  • POKUD EXISTUJE

    Pokud je uvedeno, nedochází k vyvolání žádné TABLE_OR_VIEW_NOT_FOUND chyby, pokud tabulka neexistuje.

  • table_name

    Název tabulky, která se má smazat. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností. Pokud se tabulka nenašla, Azure Databricks vyvolá chybu TABLE_OR_VIEW_NOT_FOUND. Pokud nalezený vztah není tabulka Azure Databricks, vyvolá WRONG_COMMAND_FOR_OBJECT_TYPE chybu.

  • SÍLA

    Pokud je zadáno, lze tabulku vyhodit i v případě, že obsahuje závislé mělké klony. To platí jenom pro spravované tabulky Katalogu Unity. Viz Přetažení základní tabulky pro mělký klon.

Příklady

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