@IvankoPo

Как составить запрос на выборку привилегий по пользователям?

В бд Oracle есть системный юзер (SYSTEM) и допустим мой юзер my_user которому я назнчил определенные права
так вот нужно составить такой запрос который вывел бы таблицу такого вида (точки это пробело заполнитель)
+---------------------------+----------+-----------+
| Название привелегии | SYSTEM | my_user |
+---------------------------+----------+-----------+
| create table.................|..YES.......|...YES......|
+---------------------------+----------+-----------+
| create index.................|..YES......|...NO........|
+---------------------------+----------+-----------+
и т.д
То есть название привелегии первый столбец, второй YES или NO есть ли эта привелегия у юзера SYSTEM и 3-ий столбец YES или NO есть ли эта привелегия у юзера my_user
Помогите написать запрос, к каким таблицам его нужно сделать, как представить данные из них в таком виде ?
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 1
idShura
@idShura
Так?

SELECT T1.PRIVILEGE, 
       T1.ADMIN_OPTION  SYS_USER,
       T2.ADMIN_OPTION  MY_USER 
  FROM DBA_SYS_PRIVS T1 
       LEFT JOIN DBA_SYS_PRIVS T2 ON T1.PRIVILEGE = T2.PRIVILEGE 
                           AND T2.GRANTEE = 'MY_USER'
  WHERE T1.GRANTEE = 'SYS'
  ORDER BY T1.PRIVILEGE ASC
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы