用户“ XX”存在于组“ YY”下。我想找到数据库用户“ xx”的访问类型。我可以使用哪个查询?
我正在将Linux环境与Db2 v10.5配合使用
答案 0 :(得分:0)
以下查询返回指定USERID的所有特权:
SELECT distinct p.AUTHID, p.PRIVILEGE, p.OBJECTNAME, p.OBJECTSCHEMA, p.OBJECTTYPE
FROM SYSIBMADM.PRIVILEGES P, SYSIBMADM.AUTHORIZATIONIDS A,
TABLE (SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID('HLOESER')) as U
WHERE p.privilege='CREATEIN' and a.authidtype='G' and a.authid=p.authid
AND (u.group=a.authid or a.authid='PUBLIC')
UNION
SELECT distinct p.AUTHID, p.PRIVILEGE, p.OBJECTNAME, p.OBJECTSCHEMA, p.OBJECTTYPE
FROM SYSIBMADM.PRIVILEGES P
WHERE p.authid='USERID'
查询来自此blog post on using the Db2 administrative views and routines。如果不考虑WHERE子句,它将为您提供所有用户的表。