Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Databricks Runtime
Supprime la table et supprime le répertoire associé à la table du système de fichiers si la table n’est pas une EXTERNAL table. Une exception est levée si la table n’existe pas.
Pour supprimer une table, vous devez disposer du privilège MANAGE sur la table, être son propriétaire ou le propriétaire du schéma, du catalogue ou du metastore dans lequel réside la table.
Dans le cas d’une table externe, seules les informations de métadonnées associées sont supprimées du schéma du metastore.
Toutes les contraintes de clé étrangère faisant référence à la table sont également supprimées.
Si la table est mise en cache, la commande annule la mise en cache de la table et de toutes ses dépendances.
Remarque
Unity Catalog prend en charge la UNDROP TABLE commande pour récupérer les tables managées supprimées. Par défaut, les tables sont récupérables pendant 7 jours après la suppression. Une fois la période de récupération terminée, les fichiers de données sous-jacents sont définitivement supprimés de votre locataire cloud dans les 48 heures. Vous pouvez configurer la période de récupération au niveau du catalogue ou du schéma. Consultez Supprimer une table managée et uncycle de vie de stockage d’objets dans le catalogue Unity.
Syntaxe
DROP TABLE [ IF EXISTS ] table_name [ FORCE ]
DROP {TEMP | TEMPORARY} TABLE table_name [IF EXISTS]
Paramètre
TEMP ou TEMPORAIRE
S’applique à :
Databricks SQLSi elle est spécifiée, supprime la table temporaire. Si aucune table temporaire portant ce nom n’existe dans la session, la commande déclenche une erreur de condition d’erreur TABLE_OR_VIEW_NOT_FOUND .
Si elle n’est pas spécifiée, la commande supprime uniquement une table permanente et génère une erreur si une table temporaire portant le même nom non qualifié existe dans la session. Pour supprimer une table permanente lorsqu’une table temporaire partage le même nom, utilisez le nom qualifié.
S’IL EXISTE
S’il est spécifié, aucune erreur TABLE_OR_VIEW_NOT_FOUND n’est levée lorsque la table n’existe pas.
-
Le nom du tableau à annuler. Le nom ne doit pas inclure de spécification temporelle ou de spécification d’options. Si la table est introuvable, Azure Databricks génère une erreur TABLE_OR_VIEW_NOT_FOUND. Si la relation trouvée n’est pas une table Azure Databricks génère une erreur de WRONG_COMMAND_FOR_OBJECT_TYPE .
FORCE
Si elle est spécifiée, la table peut être supprimée même si elle a des clones peu profonds dépendants. Cela s’applique uniquement aux tables gérées par le catalogue Unity. Consultez Supprimer la table de base pour un clone peu profond.
Exemples
-- 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;