Catégories :

Base de données, schéma et partage DDL

DROP SCHEMA

Supprime un schéma de la base de données actuelle/spécifiée.

Voir aussi :

CREATE SCHEMA , SHOW SCHEMAS , UNDROP SCHEMA

Syntaxe

DROP SCHEMA [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]

Paramètres

nom

Spécifie l’identificateur du schéma à 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.

Si l’identificateur du schéma n’est pas complet (sous la forme de nom_bd.nom_schéma), la commande recherche le schéma dans la base de données actuelle de la session.

CASCADE | RESTRICT

Indique si le schéma peut être détruit s’il existe des clés étrangères qui font référence à des tables du schéma :

  • CASCADE détruit le schéma et tous les objets dans le schéma, y compris les tables avec 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 le schéma.

Par défaut : CASCADE

Notes sur l’utilisation

  • La destruction d’un schéma ne le supprime pas définitivement du système. Une version du schéma détruit est conservée dans Time Travel pendant le nombre de jours spécifié par le paramètre DATA_RETENTION_TIME_IN_DAYS du schéma :

    1. Pendant la période de conservation de Time Travel, un schéma détruit peut être restauré à l’aide de la commande UNDROP SCHEMA.

    2. Lorsque la période de conservation de Time Travel prend fin, l’état suivant du schéma détruit dépend de son caractère : permanent ou transitoire :

      • Un schéma permanent se déplace dans Fail-safe. Dans Fail-safe (7 jours), un schéma détruit peut être récupéré, mais seulement par Snowflake. Lorsque le schéma quitte Fail-safe, il est purgé.

      • Un schéma transitoire n’est associé à aucune période Fail-safe, il est donc purgé lorsqu’il dépasse la période Time Travel.

    3. Une fois qu’un schéma détruit a été purgé, il ne peut pas être récupéré ; il doit être recréé.

  • Après la destruction d’un schéma, la création d’un schéma portant le même nom crée une nouvelle version du schéma. La version détruite de l’ancien schéma peut encore être restaurée à l’aide de la méthode suivante :

    1. Renommez la version actuelle du schéma sous un nom différent.

    2. Utilisez la commande UNDROP SCHEMA pour restaurer la version précédente.

  • Si une politique de masquage Sécurité au niveau des colonnes est associée à une colonne de table ou de vue, la destruction du schéma nécessite que la politique de masquage soit autonome dans la base de données et le schéma. Par exemple, la base de données_1 contient la politique_1 et la politique_1 est uniquement utilisée dans la base de données_1.

Exemples

Détruisez un schéma nommé myschema (à partir des exemples CREATE SCHEMA) :

DROP SCHEMA myschema;

+--------------------------------+
| status                         |
|--------------------------------|
| MYSCHEMA successfully dropped. |
+--------------------------------+

SHOW SCHEMAS;

+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+
| created_on                      | name               | is_default | is_current | database_name | owner  | comment                                                   | options | retention_time |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------|
| Fri, 13 May 2016 17:26:07 -0700 | INFORMATION_SCHEMA | N          | N          | MYTESTDB      |        | Views describing the contents of schemas in this database |         |              1 |
| Tue, 17 Mar 2015 16:57:04 -0700 | PUBLIC             | N          | Y          | MYTESTDB      | PUBLIC |                                                           |         |              1 |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+