ALTER DATABASE ROLE

Modifie les propriétés d’un rôle de base de données existante.

Actuellement, les seules opérations prises en charge sont le renommage d’un rôle de base de données ou l’ajout, l’écrasement, la suppression d’un commentaire pour un rôle de base de données.

Voir aussi :

CREATE DATABASE ROLE , DROP DATABASE ROLE , SHOW DATABASE ROLES

Syntaxe

ALTER DATABASE ROLE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER DATABASE ROLE [ IF EXISTS ] <name> SET COMMENT = '<string_literal>'

ALTER DATABASE ROLE [ IF EXISTS ] <name> UNSET COMMENT

ALTER DATABASE ROLE [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]

ALTER DATABASE ROLE [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
Copy

Paramètres

name

Spécifie l’identificateur (c’est-à-dire le nom) du rôle de la base de données ; il doit être unique dans la base de données dans laquelle le rôle est créé.

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.

Si l’identificateur n’est pas complet sous la forme de db_name.database_role_name, la commande recherche le rôle de base de données dans la base de données actuelle de la session.

RENAME TO new_name

Indique le nouvel identificateur du rôle de base de données ; il doit être unique pour votre compte.

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

Notez que lorsque vous spécifiez le nom entièrement qualifié du rôle de la base de données, vous ne pouvez pas spécifier une base de données différente. Le nom de la base de données, db_name, doit rester le même. Seul le database_role_name peut changer lors d’une opération de renommage.

SET ...

Spécifie les propriétés à définir pour le rôle de base de données :

COMMENT = 'string_literal'

Ajoute un commentaire ou écrase un commentaire existant pour le rôle de base de données.

TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]

Spécifie le nom de la balise et la valeur de la chaîne de la balise.

La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.

Pour plus de détails sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.

UNSET ...

Spécifie les propriétés à désactiver pour le rôle de base de données, qui les réinitialise aux valeurs par défaut.

  • COMMENT

  • TAG tag_name [ , tag_name ... ]

Privilèges 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

Rôle de la base de données

Seuls le propriétaire du rôle de base de données (c’est-à-dire le rôle de base de données avec le privilège OWNERSHIP sur le rôle de base de données), ou un rôle supérieur, peuvent exécuter cette commande.

Le rôle propriétaire n’hérite pas des autorisations accordées au rôle de base de données détenu. Pour hériter des autorisations d’un rôle de base de données, ce rôle de base de données doit être accordé à un autre rôle, créant ainsi une relation parent-enfant dans une hiérarchie de rôles.

APPLY

Balise

Permet de définir une balise sur un rôle de base de données.

Notes sur l’utilisation

Concernant les métadonnées :

Attention

Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

Exemples

Renommer le rôle de base de données dr1 en dbr2 dans la base de données d1 :

ALTER DATABASE ROLE d1.dr1 RENAME TO d1.dbr2;
Copy

Ajouter un commentaire pour le rôle de base de données d1.dbr2 :

ALTER DATABASE ROLE d1.dbr2 SET COMMENT = 'New comment for database role';
Copy