top-shop.ru
Коробка для мелочей
Oracle: Найти всех пользователей, имеющих заданную роль
Проблема: Есть некоторая роль ROLE_XXX, как найти всех пользователей Oracle, ее "имеющих"? Для решения используем "связанный" подзапрос. Он размещается в скобках и выполняется для каждого выбранного пользователя.
SELECT username FROM dba_users a
WHERE 'ROLE_XXX' IN
	(SELECT granted_role FROM
         dba_role_privs WHERE
         grantee=a.username);

Другое (более простое, но менее очевидное) решение:
SELECT grantee FROM dba_role_privs
WHERE granted_role='ROLE_XXX'
Задача: Найти всех пользователей, имеющих определенную роль

содержание