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 ]
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
ouschema_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. | +--------------------------+
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). | +------------------------------------------------------------+