sql >> データベース >  >> RDS >> Oracle

ユーザーが受け取ったすべての助成金を一覧表示するにはどうすればよいですか?

    直接のテーブル付与以上のものが必要な場合(たとえば、役割を介した付与、テーブルの選択などのシステム権限など)、いくつかの追加のクエリがあります:

    ユーザーのシステム権限:

    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;
    

    テーブル/ビューへの直接付与:

    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;
    

    テーブル/ビューへの間接的な付与:

    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. DAOでのMicrosoftSQLストアドプロシージャの大きなパラメータの使用

    2. JavaからMySQLに接続できません:MySQLドライバー接続ロジック内のNullPointerException

    3. SQLiteの既存のテーブルに列を追加する

    4. PostgreSQLのパフォーマンスに関するチートシート