sql >> Database >  >> RDS >> Oracle

Hoe kan ik ALLE beurzen weergeven die een gebruiker heeft ontvangen?

Als je meer wilt dan alleen directe tafeltoekenningen (bijv. toelagen via rollen, systeemrechten zoals het selecteren van een tafel, enz.), zijn hier enkele aanvullende vragen:

Systeemrechten voor een gebruiker:

SELECT PRIVILEGE
  FROM sys.dba_sys_privs
 WHERE grantee = <theUser>
UNION
SELECT PRIVILEGE 
  FROM dba_role_privs rp JOIN role_sys_privs rsp ON (rp.granted_role = rsp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY 1;

Rechtstreekse toekenningen aan tabellen/weergaven:

SELECT owner, table_name, select_priv, insert_priv, delete_priv, update_priv, references_priv, alter_priv, index_priv 
  FROM table_privileges
 WHERE grantee = <theUser>
 ORDER BY owner, table_name;

Indirecte toekenningen aan tabellen/weergaven:

SELECT DISTINCT owner, table_name, PRIVILEGE 
  FROM dba_role_privs rp JOIN role_tab_privs rtp ON (rp.granted_role = rtp.role)
 WHERE rp.grantee = <theUser>
 ORDER BY owner, table_name;


  1. Is er een manier om updates/verwijderingen uit te schakelen, maar toch triggers toe te staan ​​om ze uit te voeren?

  2. Benchmarking van beheerde PostgreSQL-cloudoplossingen - deel vier:Microsoft Azure

  3. Hoeveel records kan ik opslaan in 5 MB PostgreSQL op Heroku?

  4. Afronding op 2 decimalen in SQL