Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:
Databricks SQL
Databricks Runtime
Elimina la tabella e rimuove la directory associata alla tabella dal file system se la tabella non è una EXTERNAL tabella. Se la tabella non esiste, viene generata un'eccezione.
Per eliminare una tabella è necessario disporre del privilegio MANAGE per la tabella, essere il proprietario o il proprietario dello schema, del catalogo o del metastore in cui risiede la tabella.
Nel caso di una tabella esterna, solo le informazioni sui metadati associate vengono rimosse dallo schema del metastore.
Vengono eliminati anche tutti i vincoli di chiave esterna che fanno riferimento alla tabella.
Se la tabella viene memorizzata nella cache, il comando rimuove la tabella e tutti i relativi dipendenti.
Nota
Le tabelle vengono eliminate entro 7 e 30 giorni. Unity Catalog supporta il comando UNDROP TABLE per ripristinare le tabelle gestite eliminate per 7 giorni. Dopo 7 giorni, i dati sottostanti sono contrassegnati per l'eliminazione dal tenant cloud durante le normali operazioni di manutenzione delle tabelle.
Sintassi
DROP TABLE [ IF EXISTS ] table_name [ FORCE ]
Parametro
SE ESISTE
Se specificato, non viene generato alcun errore TABLE_OR_VIEW_NOT_FOUND quando la tabella non esiste.
-
Il nome della tabella da eliminare. Il nome non deve includere una specifica temporale o una specifica delle opzioni. Se la tabella non è stata trovata, Azure Databricks genera un errore TABLE_OR_VIEW_NOT_FOUND. Se la relazione trovata non è una tabella, Azure Databricks genera un errore WRONG_COMMAND_FOR_OBJECT_TYPE.
FORZA
Se specificato, la tabella può essere eliminata anche se dispone di cloni superficiali dipendenti. Questo è applicabile solo per le tabelle gestite di Unity Catalog. Vedere Eliminare la tabella di base per un clone superficiale.
Esempi
-- 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;