[Home] [Help]
SELECT u.name, a.awseq#, a.awname, p.oid, p.objname,
p.propname, dbms_aw.olap_type( nvl(p.proptype, 0)),
dbms_aw.prop_val(p.rowid), dbms_aw.prop_clob(p.rowid),
dbms_aw.prop_len(p.rowid)
FROM aw$ a, aw_prop$ p, sys.obj$ o, sys.user$ u,
(select max(rowid) keep (dense_rank last order by gen#) rid
from aw_prop$ group by awseq#, oid, propname)
WHERE a.owner#=u.user#
and o.owner# = a.owner#
and o.name = 'AW$' || a.awname and o.type#= 2 /* type for table */
and a.awseq#=p.awseq#
and (a.owner# in (userenv('SCHEMAID'), 1) /* public objects */
or
o.obj# in ( select obj# /* directly granted privileges */
from sys.objauth$
where grantee# in ( select kzsrorol from x$kzsro )
)
or /* user has system privilages */
( exists (select null from v$enabledprivs
where priv_number in (-45 /* LOCK ANY TABLE */,
-47 /* SELECT ANY TABLE */,
-48 /* INSERT ANY TABLE */,
-49 /* UPDATE ANY TABLE */,
-50 /* DELETE ANY TABLE */)
)
)
)
and p.rowid = rid and p.propval IS NOT NULL
SELECT U.NAME
, A.AWSEQ#
, A.AWNAME
, P.OID
, P.OBJNAME
,
P.PROPNAME
, DBMS_AW.OLAP_TYPE( NVL(P.PROPTYPE
, 0))
,
DBMS_AW.PROP_VAL(P.ROWID)
, DBMS_AW.PROP_CLOB(P.ROWID)
,
DBMS_AW.PROP_LEN(P.ROWID)
FROM AW$ A
, AW_PROP$ P
, SYS.OBJ$ O
, SYS.USER$ U
,
(SELECT MAX(ROWID) KEEP (DENSE_RANK LAST ORDER BY GEN#) RID
FROM AW_PROP$ GROUP BY AWSEQ#
, OID
, PROPNAME)
WHERE A.OWNER#=U.USER#
AND O.OWNER# = A.OWNER#
AND O.NAME = 'AW$' || A.AWNAME
AND O.TYPE#= 2 /* TYPE FOR TABLE */
AND A.AWSEQ#=P.AWSEQ#
AND (A.OWNER# IN (USERENV('SCHEMAID')
, 1) /* PUBLIC OBJECTS */
OR
O.OBJ# IN ( SELECT OBJ# /* DIRECTLY GRANTED PRIVILEGES */
FROM SYS.OBJAUTH$
WHERE GRANTEE# IN ( SELECT KZSROROL
FROM X$KZSRO )
)
OR /* USER HAS SYSTEM PRIVILAGES */
( EXISTS (SELECT NULL
FROM V$ENABLEDPRIVS
WHERE PRIV_NUMBER IN (-45 /* LOCK ANY TABLE */
,
-47 /* SELECT ANY TABLE */
,
-48 /* INSERT ANY TABLE */
,
-49 /* UPDATE ANY TABLE */
,
-50 /* DELETE ANY TABLE */)
)
)
)
AND P.ROWID = RID
AND P.PROPVAL IS NOT NULL
|
|
|
|