CREATE OR ALTER VERSIONED SCHEMA

Crée un nouveau schéma versionné ou modifie un schéma versionné existant. Cette commande n’est prise en charge que pour les instances d’application dans le Native Apps Framework.

Voir aussi :

CREATE APPLICATION, CREATE APPLICATION PACKAGE

Syntaxe

CREATE OR ALTER VERSIONED SCHEMA <name>
  [ WITH MANAGED ACCESS ]
  [ DATA_RETENTION_TIME_IN_DAYS = ]
  [ MAX_DATA_EXTENSION_TIME_IN_DAYS = ]
  [ DEFAULT_DDL_COLLATION = '<collation_specification>' ]
  [ COMMENT = '<string_literal>' ]
Copy

Paramètres requis

name

Indique l’identificateur du schéma ; doit être unique pour l’instance d’application dans laquelle le schéma est créé.

De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (p. ex. "My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus de détails, voir Exigences relatives à l’identificateur.

Paramètres facultatifs

WITH MANAGED ACCESS

Spécifie un schéma versionné géré. Les schémas versionnés d’accès gérés centralisent la gestion des privilèges avec le propriétaire du schéma.

Dans les schémas versionnés classiques, le propriétaire d’un objet (c’est-à-dire le rôle disposant du privilège OWNERSHIP sur l’objet) peut accorder des privilèges supplémentaires sur leurs objets à d’autres rôles.

Dans les schémas gérés, le propriétaire du schéma gère toutes les attributions de privilèges, y compris les autorisations futures, sur les objets du schéma. Les propriétaires d’objets conservent les privilèges OWNERSHIP sur les objets ; cependant, seul le propriétaire du schéma peut gérer les attributions de privilèges sur les objets.

DATA_RETENTION_TIME_IN_DAYS = integer

Spécifie le nombre de jours pendant lesquels des actions Time Travel (CLONE et UNDROP) peuvent être effectuées sur le schéma, ainsi que la durée de conservation Time Travel par défaut de toutes les tables créées dans le schéma. Pour plus de détails, reportez-vous à Comprendre et utiliser la fonction « Time Travel ».

Pour une description détaillée de ce paramètre de niveau objet, ainsi que plus d’informations sur les paramètres d’objet, reportez-vous à Paramètres. Pour plus d’informations sur la durée de conservation au niveau de la table, reportez-vous à CREATE TABLE et Comprendre et utiliser la fonction « Time Travel ».

Valeurs :

  • Édition Standard : 0 ou 1

  • Édition Enterprise :

    • 0 à 90 pour les schémas permanents

    • 0 ou 1 pour les schémas transitoires

Par défaut :

  • Édition Standard : 1

  • Édition Enterprise (ou supérieure) : 1 (sauf si une valeur par défaut différente a été spécifiée au niveau du compte ou de la base de données)

Note

Une valeur de 0 désactive effectivement Time Travel pour le schéma.

MAX_DATA_EXTENSION_TIME_IN_DAYS = integer

Paramètre d’objet qui spécifie le nombre maximum de jours pendant lesquels Snowflake peut prolonger la période de conservation des données pour les tables du schéma, afin d’éviter que les flux sur les tables ne deviennent obsolètes.

Pour une description détaillée de ce paramètre, voir MAX_DATA_EXTENSION_TIME_IN_DAYS.

DEFAULT_DDL_COLLATION = 'collation_specification'

Spécifie une spécification de classement par défaut pour toutes les tables ajoutées au schéma. La valeur par défaut peut être remplacée au niveau de la table individuelle.

Pour plus de détails sur le paramètre, voir DEFAULT_DDL_COLLATION.

COMMENT = 'string_literal'

Spécifie un commentaire pour le schéma.

Par défaut : aucune valeur

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

CREATE SCHEMA

Application

Si le schéma existe déjà et que vous souhaitez le modifier, vous devez disposer du privilège OWNERSHIP sur l’application.

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.

Note

Bien que vous créiez généralement un schéma versionné dans le script de configuration, il est possible de créer un schéma versionné :

  • À partir d’une procédure stockée avec droits du propriétaire.

  • Dans le compte consommateur à l’aide d’un rôle d’application qui a le privilège CREATE SCHEMA sur l’application.

Notes sur l’utilisation

  • Si le schéma n’existe pas, Snowflake crée un schéma versionné.

  • Si le schéma existe et correspond déjà à la commande, Snowflake voit cela comme une non-opération.

  • Si le schéma existe et ne correspond pas à la commande, Snowflake modifie le schéma versionné pour qu’il corresponde à la commande.