select c.obj#,
c.col#,
c.intcol#,
c.segcol#,
bitand(c.property, 4294967295),
trunc(c.property / power(2,32)),
c.name,
case
when c.type#=123
then sys.dbms_metadata_util.get_fullattrname(
c.obj#, c.col#, c.intcol#, c.type#)
else sys.dbms_metadata_util.get_attrname(
c.obj#, c.intcol#)
end,
c.type#,
c.deflength,
case
when c.deflength is null or bitand(c.property,32+65536)=0
or c.deflength > 4000
then null
else
sys.dbms_metadata_util.func_index_default(c.deflength,
c.rowid)
end,
case
when c.deflength is null or bitand(c.property,32+65536)=0
or c.deflength <= 4000
then null
when c.deflength <= 32000
then
sys.dbms_metadata_util.func_index_defaultc(c.deflength,
c.rowid)
else
sys.dbms_metadata_util.long2clob(c.deflength,
'SYS.COL$',
'DEFAULT$',
c.rowid)
end,
case
when c.deflength is null or bitand(c.property,32+65536)=0
then null
else
(select sys.dbms_metadata.parse_default(u.name,o.name,
c.deflength,c.rowid)
from obj$ o, user$ u
where o.obj#=c.obj# and o.owner#=u.user#)
end
from col$ c
SELECT C.OBJ#
,
C.COL#
,
C.INTCOL#
,
C.SEGCOL#
,
BITAND(C.PROPERTY
, 4294967295)
,
TRUNC(C.PROPERTY / POWER(2
, 32))
,
C.NAME
,
CASE
WHEN C.TYPE#=123
THEN SYS.DBMS_METADATA_UTIL.GET_FULLATTRNAME(
C.OBJ#
, C.COL#
, C.INTCOL#
, C.TYPE#)
ELSE SYS.DBMS_METADATA_UTIL.GET_ATTRNAME(
C.OBJ#
, C.INTCOL#)
END
,
C.TYPE#
,
C.DEFLENGTH
,
CASE
WHEN C.DEFLENGTH IS NULL OR BITAND(C.PROPERTY
, 32+65536)=0
OR C.DEFLENGTH > 4000
THEN NULL
ELSE
SYS.DBMS_METADATA_UTIL.FUNC_INDEX_DEFAULT(C.DEFLENGTH
,
C.ROWID)
END
,
CASE
WHEN C.DEFLENGTH IS NULL OR BITAND(C.PROPERTY
, 32+65536)=0
OR C.DEFLENGTH <= 4000
THEN NULL
WHEN C.DEFLENGTH <= 32000
THEN
SYS.DBMS_METADATA_UTIL.FUNC_INDEX_DEFAULTC(C.DEFLENGTH
,
C.ROWID)
ELSE
SYS.DBMS_METADATA_UTIL.LONG2CLOB(C.DEFLENGTH
,
'SYS.COL$'
,
'DEFAULT$'
,
C.ROWID)
END
,
CASE
WHEN C.DEFLENGTH IS NULL OR BITAND(C.PROPERTY
, 32+65536)=0
THEN NULL
ELSE
(SELECT SYS.DBMS_METADATA.PARSE_DEFAULT(U.NAME
, O.NAME
,
C.DEFLENGTH
, C.ROWID)
FROM OBJ$ O
, USER$ U
WHERE O.OBJ#=C.OBJ#
AND O.OWNER#=U.USER#)
END
FROM COL$ C
|
|
|