Files
oracle/vdh/all_granted_roles.sql

43 lines
949 B
MySQL
Raw Permalink Normal View History

2026-03-12 21:23:47 +01:00
-- show all roles for a user, either directly assigned or nested via other roles
with user_role_hierarchy
as ( select
t2.name username, t1.granted_role
from
( select
distinct sa.userid, u.name granted_role
from
( select
t.*, connect_by_root grantee# userid
from
sys.sysauth$ t
connect by
prior privilege# = grantee#
) sa,
sys.user$ u
where
u.user# = sa.privilege#
and sa.userid in
( select
user#
from
sys.user$
where
type# = 1 -- normal users
or user# = 1 -- PUBLIC
)
) t1,
sys.user$ t2
where
t1.userid = t2.user#
)
select
*
from
user_role_hierarchy
where
username = '&user'
order by
granted_role
;