DROP ROLE¶
Supprime le rôle spécifié du système.
- Voir aussi :
Syntaxe¶
DROP ROLE [ IF EXISTS ] <name>
Paramètres¶
name
Spécifie l’identificateur du rôle à détruire. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
Notes sur l’utilisation¶
Les rôles détruits ne peuvent être récupérés ; ils doivent être recréés.
Un rôle ne peut pas être supprimé s’il dispose du privilège OWNERSHIP sur une base de données partagée. Utilisez la commande GRANT OWNERSHIP pour transférer d’abord le privilège OWNERSHIP sur la base de données partagée, puis supprimez le rôle.
La propriété des objets appartenant au rôle détruit est transférée au rôle qui exécute la commande DROP ROLE. Pour transférer la propriété de chacun de ces objets à un rôle différent, utilisez GRANT OWNERSHIP … COPY CURRENT GRANTS.
Si un rôle dispose d’un futur privilège en tant que concédant ou bénéficiaire, ce rôle ne peut être détruit que par un utilisateur disposant d’un rôle disposant du privilège MANAGE GRANTS.
Toutes les autorisations actuelles et futures qui désignent le rôle comme étant celui du concédant ou du bénéficiaire sont supprimées lorsque le rôle est détruit.
Interrogez la vue Account Usage GRANTS_TO_ROLES pour récupérer les attributions de privilèges qui désignent un rôle spécifié en tant que concédant ou bénéficiaire :
SELECT * FROM snowflake.account_usage.grants_to_roles WHERE grantee_name = upper('<role_name>') OR granted_by = upper('<role_name>');
L’exemple suivant récupère les attributions où
myrole
est le concédant ou le bénéficiaire :SELECT * FROM snowflake.account_usage.grants_to_roles WHERE grantee_name = upper('myrole') OR granted_by = upper('myrole');
Si un rôle est un concédant de rôles aux utilisateurs, la destruction du rôle révoque automatiquement ces autorisations.
Exemples¶
DROP ROLE myrole;