select
u.name, /* OWNER */
nvl(a.procedure$,o.name), /* OBJECT_NAME */
o.type#, /* OBJECT_TYPE# */
decode(a.procedure$,null,null, o.name), /* PACKAGE_NAME */
o.obj#, /* OBJECT_ID */
decode(a.overload#,0,null,a.overload#), /* OVERLOAD */
a.procedure#, /* SUBPROGRAM ID */
a.argument, /* ARGUMENT_NAME */
a.position#, /* POSITION */
a.sequence#, /* SEQUENCE */
a.level#, /* DATA_LEVEL */
decode(a.type#, /* DATA_TYPE */
0, null,
1, decode(a.charsetform, 2, 'NVARCHAR2', 'VARCHAR2'),
2, decode(a.scale, -127, 'FLOAT', 'NUMBER'),
3, 'NATIVE INTEGER',
8, 'LONG',
9, decode(a.charsetform, 2, 'NCHAR VARYING', 'VARCHAR'),
11, 'ROWID',
12, 'DATE',
23, 'RAW',
24, 'LONG RAW',
29, 'BINARY_INTEGER',
58, 'OPAQUE/XMLTYPE',
69, 'ROWID',
96, decode(a.charsetform, 2, 'NCHAR', 'CHAR'),
100, 'BINARY_FLOAT',
101, 'BINARY_DOUBLE',
102, 'REF CURSOR',
104, 'UROWID',
105, 'MLSLABEL',
106, 'MLSLABEL',
110, 'REF',
111, 'REF',
112, decode(a.charsetform, 2, 'NCLOB', 'CLOB'),
113, 'BLOB', 114, 'BFILE', 115, 'CFILE',
121, 'OBJECT',
122, 'TABLE',
123, 'VARRAY',
178, 'TIME',
179, 'TIME WITH TIME ZONE',
180, 'TIMESTAMP',
181, 'TIMESTAMP WITH TIME ZONE',
231, 'TIMESTAMP WITH LOCAL TIME ZONE',
182, 'INTERVAL YEAR TO MONTH',
183, 'INTERVAL DAY TO SECOND',
250, 'PL/SQL RECORD',
251, 'PL/SQL TABLE',
252, 'PL/SQL BOOLEAN',
'UNDEFINED'),
decode(default#, 1, 'Y', 'N'), /* DEFAULTED */
default$, /* DEFAULT_VALUE */
deflength, /* DEFAULT_LENGTH */
decode(in_out,null,'IN',1,'OUT',2,'IN/OUT','Undefined'), /* IN_OUT */
length, /* DATA_LENGTH */
precision#, /* DATA_PRECISION */
decode(a.type#, 2, scale, 1, null, 96, null, scale), /* DATA_SCALE */
radix, /* RADIX */
decode(a.charsetform, 1, 'CHAR_CS', /* CHARACTER_SET_NAME */
2, 'NCHAR_CS',
3, NLS_CHARSET_NAME(a.charsetid),
4, 'ARG:'||a.charsetid),
a.type_owner, /* TYPE_OWNER */
a.type_name, /* TYPE_NAME */
a.type_subname, /* TYPE_SUBNAME */
a.type_linkname, /* TYPE_LINK */
a.pls_type, /* PLS_TYPE */
decode(a.type#, 1, a.scale, 96, a.scale, 0), /* CHAR_LENGTH */
decode(a.type#,
1, decode(bitand(a.properties, 128), 128, 'C', 'B'),
96, decode(bitand(a.properties, 128), 128, 'C', 'B'), 0), /*CHAR_USED*/
decode(bitand(o.flags, 196608), 65536, 1, 131072, 1, 0),
to_number(sys_context('USERENV', 'CON_ID'))
from sys."_CURRENT_EDITION_OBJ" o,argument$ a,user$ u
where o.obj# = a.obj#
and (o.type# in (7, 8, 9, 11, 14) or
(o.type# = 13 and o.subname is null))
and o.owner# = u.user#
SELECT
U.NAME
, /* OWNER */
NVL(A.PROCEDURE$
, O.NAME)
, /* OBJECT_NAME */
O.TYPE#
, /* OBJECT_TYPE# */
DECODE(A.PROCEDURE$
, NULL
, NULL
, O.NAME)
, /* PACKAGE_NAME */
O.OBJ#
, /* OBJECT_ID */
DECODE(A.OVERLOAD#
, 0
, NULL
, A.OVERLOAD#)
, /* OVERLOAD */
A.PROCEDURE#
, /* SUBPROGRAM ID */
A.ARGUMENT
, /* ARGUMENT_NAME */
A.POSITION#
, /* POSITION */
A.SEQUENCE#
, /* SEQUENCE */
A.LEVEL#
, /* DATA_LEVEL */
DECODE(A.TYPE#
, /* DATA_TYPE */
0
, NULL
,
1
, DECODE(A.CHARSETFORM
, 2
, 'NVARCHAR2'
, 'VARCHAR2')
,
2
, DECODE(A.SCALE
, -127
, 'FLOAT'
, 'NUMBER')
,
3
, 'NATIVE INTEGER'
,
8
, 'LONG'
,
9
, DECODE(A.CHARSETFORM
, 2
, 'NCHAR VARYING'
, 'VARCHAR')
,
11
, 'ROWID'
,
12
, 'DATE'
,
23
, 'RAW'
,
24
, 'LONG RAW'
,
29
, 'BINARY_INTEGER'
,
58
, 'OPAQUE/XMLTYPE'
,
69
, 'ROWID'
,
96
, DECODE(A.CHARSETFORM
, 2
, 'NCHAR'
, 'CHAR')
,
100
, 'BINARY_FLOAT'
,
101
, 'BINARY_DOUBLE'
,
102
, 'REF CURSOR'
,
104
, 'UROWID'
,
105
, 'MLSLABEL'
,
106
, 'MLSLABEL'
,
110
, 'REF'
,
111
, 'REF'
,
112
, DECODE(A.CHARSETFORM
, 2
, 'NCLOB'
, 'CLOB')
,
113
, 'BLOB'
, 114
, 'BFILE'
, 115
, 'CFILE'
,
121
, 'OBJECT'
,
122
, 'TABLE'
,
123
, 'VARRAY'
,
178
, 'TIME'
,
179
, 'TIME WITH TIME ZONE'
,
180
, 'TIMESTAMP'
,
181
, 'TIMESTAMP WITH TIME ZONE'
,
231
, 'TIMESTAMP WITH LOCAL TIME ZONE'
,
182
, 'INTERVAL YEAR TO MONTH'
,
183
, 'INTERVAL DAY TO SECOND'
,
250
, 'PL/SQL RECORD'
,
251
, 'PL/SQL TABLE'
,
252
, 'PL/SQL BOOLEAN'
,
'UNDEFINED')
,
DECODE(DEFAULT#
, 1
, 'Y'
, 'N')
, /* DEFAULTED */
DEFAULT$
, /* DEFAULT_VALUE */
DEFLENGTH
, /* DEFAULT_LENGTH */
DECODE(IN_OUT
, NULL
, 'IN'
, 1
, 'OUT'
, 2
, 'IN/OUT'
, 'UNDEFINED')
, /* IN_OUT */
LENGTH
, /* DATA_LENGTH */
PRECISION#
, /* DATA_PRECISION */
DECODE(A.TYPE#
, 2
, SCALE
, 1
, NULL
, 96
, NULL
, SCALE)
, /* DATA_SCALE */
RADIX
, /* RADIX */
DECODE(A.CHARSETFORM
, 1
, 'CHAR_CS'
, /* CHARACTER_SET_NAME */
2
, 'NCHAR_CS'
,
3
, NLS_CHARSET_NAME(A.CHARSETID)
,
4
, 'ARG:'||A.CHARSETID)
,
A.TYPE_OWNER
, /* TYPE_OWNER */
A.TYPE_NAME
, /* TYPE_NAME */
A.TYPE_SUBNAME
, /* TYPE_SUBNAME */
A.TYPE_LINKNAME
, /* TYPE_LINK */
A.PLS_TYPE
, /* PLS_TYPE */
DECODE(A.TYPE#
, 1
, A.SCALE
, 96
, A.SCALE
, 0)
, /* CHAR_LENGTH */
DECODE(A.TYPE#
,
1
, DECODE(BITAND(A.PROPERTIES
, 128)
, 128
, 'C'
, 'B')
,
96
, DECODE(BITAND(A.PROPERTIES
, 128)
, 128
, 'C'
, 'B')
, 0)
, /*CHAR_USED*/
DECODE(BITAND(O.FLAGS
, 196608)
, 65536
, 1
, 131072
, 1
, 0)
,
TO_NUMBER(SYS_CONTEXT('USERENV'
, 'CON_ID'))
FROM SYS."_CURRENT_EDITION_OBJ" O
, ARGUMENT$ A
, USER$ U
WHERE O.OBJ# = A.OBJ#
AND (O.TYPE# IN (7
, 8
, 9
, 11
, 14) OR
(O.TYPE# = 13
AND O.SUBNAME IS NULL))
AND O.OWNER# = U.USER#
|
|
|