select exdo.d_obj#,'T',
(select bitand(t.property, 4294967295) from tab$ t
where t.obj#=po.obj_num),
(select trunc(t.property / power(2, 32)) from tab$ t
where t.obj#=po.obj_num),
NULL, -- ts# not needed
value(po), value(do)
from expdepobj$ exdo, ku$_schemaobj_view po, ku$_schemaobj_view do
where exdo.p_obj# = po.obj_num
AND exdo.d_obj# = do.obj_num
AND do.TYPE_name='TABLE'
AND (bitand(do.flags,16)!=16)
AND (SYS_CONTEXT('USERENV','CURRENT_USERID') IN (po.owner_num, 0)
OR EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))
SELECT EXDO.D_OBJ#
, 'T'
,
(SELECT BITAND(T.PROPERTY
, 4294967295)
FROM TAB$ T
WHERE T.OBJ#=PO.OBJ_NUM)
,
(SELECT TRUNC(T.PROPERTY / POWER(2
, 32))
FROM TAB$ T
WHERE T.OBJ#=PO.OBJ_NUM)
,
NULL
, -- TS# NOT NEEDED
VALUE(PO)
, VALUE(DO)
FROM EXPDEPOBJ$ EXDO
, KU$_SCHEMAOBJ_VIEW PO
, KU$_SCHEMAOBJ_VIEW DO
WHERE EXDO.P_OBJ# = PO.OBJ_NUM
AND EXDO.D_OBJ# = DO.OBJ_NUM
AND DO.TYPE_NAME='TABLE'
AND (BITAND(DO.FLAGS
, 16)!=16)
AND (SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') IN (PO.OWNER_NUM
, 0)
OR EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))
|
|
|