Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
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:
Tabulky se odstraní do 7 až 30 dnů. Katalog Unity podporuje příkaz UNDROP TABLE k obnovení vyřazených spravovaných tabulek po dobu 7 dnů. Po 7 dnech se podkladová data označí k odstranění z cloudového tenanta během běžných operací údržby tabulek.
Syntaxe
DROP TABLE [ IF EXISTS ] table_name [ FORCE ]
Parametr
POKUD EXISTUJE
Pokud je uvedeno, nedochází k vyvolání žádné TABLE_OR_VIEW_NOT_FOUND chyby, pokud tabulka neexistuje.
-
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;