DROP ICEBERG TABLE

Supprime une table Iceberg du schéma actuel/spécifié.

Notez que cette rubrique fait référence aux tables Iceberg en les appelant simplement « tables », sauf lorsque le fait de préciser tables Iceberg permet d’éviter toute confusion.

Voir aussi :

CREATE ICEBERG TABLE , SHOW ICEBERG TABLES , DESCRIBE ICEBERG TABLE

Syntaxe

DROP [ ICEBERG ] TABLE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
Copy

Paramètres

name

Indique l’identificateur de la table à détruire. Si l’identificateur contient des espaces, des caractères spéciaux ou des caractères majuscules et minuscules, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse (par exemple, "My Object").

Si l’identificateur de la table n’est pas complet (sous la forme db_name.schema_name.table_name ou schema_name.table_name), la commande recherche la table dans le schéma actuel de la session.

CASCADE | RESTRICT

Indique si la table peut être détruite s’il existe des clés étrangères qui font référence à la table :

  • CASCADE détruit la table même si celle-ci présente des clés primaires/uniques qui sont référencées par des clés étrangères dans d’autres tables.

  • RESTRICT renvoie un avertissement sur les références de clés étrangères existantes et ne détruit pas la table.

Par défaut : CASCADE

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège

Objet

Remarques

OWNERSHIP

Table Iceberg

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

USAGE

Volume externe

USAGE

Intégration (catalogue)

Nécessaire si la table Iceberg utilise une intégration de catalogue.

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • La restauration d’une table Iceberg supprimée à l’aide de la commande UNDROP ICEBERG TABLE ou UNDROP TABLE n’est actuellement pas prise en charge.

  • Avant de supprimer une table, vérifiez qu”aucune vue ne la référence. La suppression d’une table référencée par une vue rend la vue non valide (si vous interrogez la vue, une erreur de type « l’objet n’existe pas » est renvoyée).

  • Pour supprimer une table, vous devez utiliser un rôle disposant du privilège OWNERSHIP sur la table.

Exemples

Détruire une table :

DROP ICEBERG TABLE t2;

+--------------------------+
| status                   |
|--------------------------|
| T2 successfully dropped. |
+--------------------------+
Copy

Détruire à nouveau la table, mais ne pas engendrer d’erreur si la table n’existe pas :

DROP ICEBERG TABLE IF EXISTS t2;

+------------------------------------------------------------+
| status                                                     |
|------------------------------------------------------------|
| Drop statement executed successfully (T2 already dropped). |
+------------------------------------------------------------+
Copy