SHOW DATABASE ROLES¶
Répertorie tous les rôles de base de données dans la base de données spécifiée.
Important
Un utilisateur avec n’importe quel rôle actif qui s’est vu accorder n’importe quel privilège sur la base de données active (par exemple, USAGE) peut énumérer les rôles de base de données dans la base de données. Toutefois, cela ne signifie pas nécessairement que le rôle permet aux utilisateurs d’utiliser les rôles de base de données pour effectuer des actions SQL. Pour utiliser un rôle de base de données, il doit d’abord être accordé à un rôle de compte que les utilisateurs peuvent activer dans une session utilisateur, ou à un rôle de compte plus bas dans la hiérarchie.
Cela fait partie du contrôle d’accès discrétionnaire et du contrôle d’accès basé sur les rôles. Pour plus d’informations, voir Aperçu du contrôle d’accès.
- Voir aussi :
SHOW GRANTS , CREATE DATABASE ROLE , ALTER DATABASE ROLE , DROP DATABASE ROLE
Syntaxe¶
SHOW DATABASE ROLES IN DATABASE <name>
[ LIMIT <rows> [ FROM '<name_string>' ] ]
Paramètres requis¶
name
Spécifie le nom de la base de données.
La commande renvoie une erreur si vous ne spécifiez pas l’identificateur du nom.
Paramètres facultatifs¶
LIMIT rows [ FROM 'name_string' ]
(Facultatif) Limite le nombre maximum de lignes retournées, tout en permettant la « pagination » des résultats. Le nombre réel de lignes renvoyées peut être inférieur à la limite spécifiée. Par exemple, le nombre d’objets existants est inférieur à la limite spécifiée.
La sous-clause facultative
FROM 'name_string'
sert effectivement de « curseur » pour les résultats. Ceci permet de récupérer le nombre spécifié de lignes suivant la première ligne dont le nom d’objet correspond à la chaîne spécifiée :La chaîne doit être délimitée par des guillemets simples et est sensible à la casse.
La chaîne n’a pas besoin d’inclure le nom complet de l’objet ; les noms partiels sont pris en charge.
Par défaut : aucune valeur (aucune limite n’est appliquée à la sortie)
Note
Pour les commandes SHOW qui prennent en charge les clauses
FROM 'name_string'
etSTARTS WITH 'name_string'
, vous pouvez combiner ces deux clauses dans la même instruction. Cependant, les deux conditions doivent être remplies ou elles s’annulent mutuellement et aucun résultat n’est renvoyé.De plus, les objets sont retournés dans l’ordre lexicographique par nom, donc
FROM 'name_string'
ne retourne que les lignes ayant une valeur lexicographique plus élevée que les lignes retournées parSTARTS WITH 'name_string'
Par exemple :
... STARTS WITH 'A' LIMIT ... FROM 'B'
ne donnerait aucun résultat.... STARTS WITH 'B' LIMIT ... FROM 'A'
ne donnerait aucun résultat.... STARTS WITH 'A' LIMIT ... FROM 'AB'
donnerait des résultats (si des lignes correspondent aux chaînes d’entrée).
Notes sur l’utilisation¶
Cette commande ne permet d’afficher les rôles d’une base de données que dans une base de données spécifique.
Vous ne pouvez pas utiliser cette commande pour afficher les rôles de la base de données dans le compte.
L’exécution de la commande ne nécessite pas un entrepôt virtuel en cours d’exécution.
Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN, qui traite la sortie comme une table qui peut être interrogée.
Exemple¶
Renvoyez jusqu’à dix rôles de base de données dans la base nommée mydb
après le premier rôle de base de données nommé db_role2
:
SHOW DATABASE ROLES IN DATABASE mydb LIMIT 10 FROM 'db_role2';