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> ... ]
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 ledatabase_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 d’informations 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;
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';