SHOW DATABASE ROLES¶
Listet alle Datenbankrollen einer angegebenen Datenbank auf.
Wichtig
Ein Benutzer mit einer beliebigen aktiven Rolle, dem eine beliebige Berechtigung für die aktive Datenbank erteilt wurden (z. B. USAGE), kann die Datenbankrollen der Datenbank auflisten. Dies bedeutet jedoch nicht zwangsläufig, dass die Rolle es den Benutzern erlaubt, die Datenbankrollen zu verwenden, um SQL-Aktionen auszuführen. Um eine Datenbankrolle zu verwenden, muss sie zunächst einer Kontorolle zugewiesen werden, die ein Benutzer in einer Benutzersitzung aktivieren kann, oder einer Kontorolle, die in einer Hierarchie niedriger angesiedelt ist.
Dies ist Teil der besitzerverwaltete Zugriffssteuerung und der rollenbasierten Zugriffssteuerung. Weitere Informationen dazu finden Sie unter Übersicht zur Zugriffssteuerung.
- Siehe auch:
SHOW GRANTS, CREATE DATABASE ROLE, ALTER DATABASE ROLE, DROP DATABASE ROLE
Syntax¶
SHOW DATABASE ROLES IN DATABASE <name>
[ LIMIT <rows> [ FROM '<name_string>' ] ]
Erforderliche Parameter¶
name
Gibt den Namen der Datenbank an.
Der Befehl gibt einen Fehler zurück, wenn Sie den Bezeichner für den Namen nicht angeben.
Optionale Parameter¶
LIMIT rows [ FROM 'name_string' ]
Schränkt optional die maximale Anzahl der zurückgegebenen Zeilen ein und ermöglicht gleichzeitig die „Paginierung“ der Ergebnisse. Die tatsächliche Anzahl der zurückgegebenen Zeilen kann geringer sein als das angegebene Limit. Beispielsweise ist die Anzahl der vorhandenen Objekte geringer als das angegebene Limit.
Die optionale Unterklausel
FROM 'name_string'
dient als „Cursor“ für die Ergebnisse. Dies ermöglicht das Abrufen der angegebenen Anzahl von Zeilen nach der ersten Zeile, deren Objektname mit der angegebenen Zeichenfolge übereinstimmt:Die Zeichenfolge muss in einfache Anführungszeichen gesetzt werden, wobei zwischen Groß-/Kleinschreibung unterschieden wird.
Die Zeichenfolge muss nicht den vollständigen Datenbanknamen enthalten. Partielle Namen werden unterstützt.
Standard: Kein Wert (die Ausgabe wird nicht begrenzt)
Bemerkung
Bei SHOW-Befehlen, die sowohl die
FROM 'name_string'
- als auch dieSTARTS WITH 'name_string'
-Klausel unterstützen, können Sie diese beiden Klauseln in derselben Anweisung kombinieren. Beide Bedingungen müssen jedoch erfüllt sein, da sie sich sonst gegenseitig aufheben und keine Ergebnisse zurückgegeben werden.Außerdem werden Objekte in lexikographischer Reihenfolge nach Namen zurückgegeben. Daher gibt
FROM 'name_string'
nur Zeilen mit einem höheren lexikografischen Wert zurück als die vonSTARTS WITH 'name_string'
zurückgegebenen Zeilen.Beispiel:
... STARTS WITH 'A' LIMIT ... FROM 'B'
würde keine Ergebnisse zurückgeben.... STARTS WITH 'B' LIMIT ... FROM 'A'
würde keine Ergebnisse zurückgeben.... STARTS WITH 'A' LIMIT ... FROM 'AB'
würde Ergebnisse zurückgeben (wenn Zeilen mit den Eingabezeichenfolgen übereinstimmen).
Nutzungshinweise¶
Dieser Befehl unterstützt nur die Anzeige von Datenbankrollen in einer bestimmten Datenbank.
Sie können diesen Befehl nicht verwenden, um alle Datenbankrollen eines Kontos anzuzeigen.
Für die Ausführung des Befehls ist kein aktives Warehouse erforderlich.
Um die Ausgabe dieses Befehls nachzubearbeiten, können Sie die Funktion RESULT_SCAN verwenden, die die Ausgabe wie eine abfragbare Tabelle behandelt.
Beispiel¶
Geben Sie bis zu zehn Datenbankrollen in der Datenbank namens mydb
nach der ersten Datenbankrolle namens db_role2
zurück:
SHOW DATABASE ROLES IN DATABASE mydb LIMIT 10 FROM 'db_role2';