select oi.obj#, cdef$.cols, ui.name, oi.name, ut.name, ot.name,
cast(multiset(select value(sgcc)
from sys.ku$_find_sgc_cols_view sgcc
where sgcc.con_num = cdef$.con#)
as ku$_sgi_col_list_t)
from sys.cdef$, sys.obj$ oi, sys.obj$ ot, sys.con$, sys.user$ ui,
sys.user$ ut
where cdef$.obj# = ot.obj# and
cdef$.con# = con$.con# and
oi.obj# = cdef$.enabled and
ot.owner# = ut.user# and
oi.owner# = ui.user# and
bitand(cdef$.defer,8) = 8 and /* system generated */
cdef$.type# = 3 and /* unique constraint */
con$.name != oi.name and
(SYS_CONTEXT('USERENV','CURRENT_USERID') IN (ui.user#,ut.user#,0) OR
EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))
UNION ALL
select i.obj#, i.intcols, ui.name, o.name, ut.name, ot.name,
cast(multiset(select value(sgic)
from sys.ku$_find_sgi_cols_view sgic
where sgic.obj_num = i.obj# and
bitand(o.flags,4) = 4 and /* system generated */
bitand(i.property,1) = 1) /* constraint index */
as ku$_sgi_col_list_t)
from sys.obj$ o, sys.obj$ ot, sys.ind$ i, sys.user$ ui, sys.user$ ut
where i.obj# = o.obj# and
i.bo# = ot.obj# and
o.owner# = ui.user# and
ot.owner# = ut.user# and
i.type# != 8 and /* no lob indexes */
bitand(o.flags,4) = 4 and /* system generated */
bitand(i.property,1) = 1 and /* constraint index */
(SYS_CONTEXT('USERENV','CURRENT_USERID') IN (o.owner#, 0) OR
EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))
SELECT OI.OBJ#
, CDEF$.COLS
, UI.NAME
, OI.NAME
, UT.NAME
, OT.NAME
,
CAST(MULTISET(SELECT VALUE(SGCC)
FROM SYS.KU$_FIND_SGC_COLS_VIEW SGCC
WHERE SGCC.CON_NUM = CDEF$.CON#)
AS KU$_SGI_COL_LIST_T)
FROM SYS.CDEF$
, SYS.OBJ$ OI
, SYS.OBJ$ OT
, SYS.CON$
, SYS.USER$ UI
,
SYS.USER$ UT
WHERE CDEF$.OBJ# = OT.OBJ# AND
CDEF$.CON# = CON$.CON# AND
OI.OBJ# = CDEF$.ENABLED AND
OT.OWNER# = UT.USER# AND
OI.OWNER# = UI.USER# AND
BITAND(CDEF$.DEFER
, 8) = 8
AND /* SYSTEM GENERATED */
CDEF$.TYPE# = 3
AND /* UNIQUE CONSTRAINT */
CON$.NAME != OI.NAME AND
(SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') IN (UI.USER#
, UT.USER#
, 0) OR
EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))
UNION ALL
SELECT I.OBJ#
, I.INTCOLS
, UI.NAME
, O.NAME
, UT.NAME
, OT.NAME
,
CAST(MULTISET(SELECT VALUE(SGIC)
FROM SYS.KU$_FIND_SGI_COLS_VIEW SGIC
WHERE SGIC.OBJ_NUM = I.OBJ# AND
BITAND(O.FLAGS
, 4) = 4
AND /* SYSTEM GENERATED */
BITAND(I.PROPERTY
, 1) = 1) /* CONSTRAINT INDEX */
AS KU$_SGI_COL_LIST_T)
FROM SYS.OBJ$ O
, SYS.OBJ$ OT
, SYS.IND$ I
, SYS.USER$ UI
, SYS.USER$ UT
WHERE I.OBJ# = O.OBJ# AND
I.BO# = OT.OBJ# AND
O.OWNER# = UI.USER# AND
OT.OWNER# = UT.USER# AND
I.TYPE# != 8
AND /* NO LOB INDEXES */
BITAND(O.FLAGS
, 4) = 4
AND /* SYSTEM GENERATED */
BITAND(I.PROPERTY
, 1) = 1
AND /* CONSTRAINT INDEX */
(SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') IN (O.OWNER#
, 0) OR
EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))
|
|
|