GRANT
Berechtigungen erteilen und Rollen zuweisen
DSQL, ESQL
GRANT <privileges>
TO <grantee_list>
[WITH GRANT OPTION]
[{GRANTED BY | AS} [USER] grantor]
<privileges> ::=
<table_privileges> | <execute_privilege>
| <usage_privilege> | <ddl_privileges>
| <db_ddl_privilege>
<table_privileges> ::=
{ALL [PRIVILEGES] | <table_privilege_list> }
ON [TABLE] {table_name | view_name}
<table_privilege_list> ::=
<table_privilege> [, <tableprivilege> ...]
<table_privilege> ::=
SELECT | DELETE | INSERT
| UPDATE [(col [, col ...])]
| REFERENCES [(col [, col ...)]
<execute_privilege> ::= EXECUTE ON
{ PROCEDURE proc_name | FUNCTION func_name
| PACKAGE package_name }
<usage_privilege> ::= USAGE ON
{ EXCEPTION exception_name
| {GENERATOR | SEQUENCE} sequence_name }
<ddl_privileges> ::=
{ALL [PRIVILEGES] | <ddl_privilege_list>} <object_type>
<ddl_privilege_list> ::=
<ddl_privilege> [, <ddl_privilege> ...]
<ddl_privilege> ::= CREATE | ALTER ANY | DROP ANY
<object_type> ::=
CHARACTER SET | COLLATION | DOMAIN | EXCEPTION
| FILTER | FUNCTION | GENERATOR | PACKAGE
| PROCEDURE | ROLE | SEQUENCE | TABLE | VIEW
<db_ddl_privileges> ::=
{ALL [PRIVILEGES] | <db_ddl_privilege_list>} {DATABASE | SCHEMA}
<db_ddl_privilege_list> ::=
<db_ddl_privilege> [, <db_ddl_privilege> ...]
<db_ddl_privilege> ::= CREATE | ALTER | DROP
<grantee_list> ::= <grantee> [, <grantee> ...]
<grantee> ::=
PROCEDURE proc_name | FUNCTION func_name
| PACKAGE package_name | TRIGGER trig_name
| VIEW view_name | ROLE role_name
| [USER] username | GROUP Unix_group
| SYSTEM PRIVILEGE <sys_privilege>
<sys_privilege> ::=
!! Siehe CREATE ROLE
!!
GRANT <role_granted_list> TO <role_grantee_list> [WITH ADMIN OPTION] [{GRANTED BY | AS} [USER] grantor] <role_granted_list> ::= <role_granted> [, <role_granted ...] <role_granted> ::= [DEFAULT] role_name <role_grantee_list> ::= <role_grantee> [, <role_grantee> ...] <role_grantee> ::= user_or_role_name | USER username | ROLE role_name
Parameter | Beschreibung |
---|---|
grantor |
Der Benutzer, der die Berechtigung(en) gewährt |
table_name |
Tabellenname |
view_name |
Der Name der View |
col |
Name der Tabellenspalte |
proc_name |
Name der Stored Procedure |
func_name |
Name der Stored Function (oder UDF) |
package_name |
Name des Pakets |
exception_name |
Der Name einer Ausnahme (Exception) |
sequence_name |
Der Name einer Sequenz (Generator) |
object_type |
Der Typ des Metadatenobjekts |
trig_name |
Der Name eines Triggers |
role_name |
Rollenname |
username |
Der Benutzername, dem die Berechtigungen erteilt werden oder dem die Rolle zugewiesen ist.Wenn das Schlüsselwort |
Unix_group |
Der Name einer Benutzergruppe in einem POSIX-Betriebssystem |
sys_privilege |
Ein Systemprivileg |
user_or_role_name |
Name eines Benutzers oder einer Rolle |
Die GRANT
-Anweisung gewährt Benutzern, Rollen oder anderen Datenbankobjekten ein oder mehrere Privilegien für Datenbankobjekte.
Ein normaler, authentifizierter Benutzer hat keine Berechtigungen für ein Datenbankobjekt, bis sie diesem einzelnen Benutzer, einer dem Benutzer als Standardrolle zugewiesenen Rolle oder allen Benutzern, die als Benutzer PUBLIC
gebündelt sind, explizit gewährt werden.Wenn ein Objekt erstellt wird, haben nur sein Ersteller (der Eigentümer) und Administratoren Berechtigungen dafür und können anderen Benutzern, Rollen oder Objekten Berechtigungen erteilen.
Für unterschiedliche Typen von Metadatenobjekten gelten unterschiedliche Berechtigungen.Die verschiedenen Arten von Berechtigungen werden später in diesem Abschnitt separat beschrieben.
Note
|
|