I try to find the arguments of type methods.
So the frame is to join DBA_TYPE_METHODS and DBA_ARGUMENTS (maybe using intermediate views like DBA_PROCEDURES):
SQL> desc dba_type_methods
Name Null? Type
-------------------------------------- -------- --------------------------
OWNER NOT NULL VARCHAR2(30)
TYPE_NAME NOT NULL VARCHAR2(30)
METHOD_NAME NOT NULL VARCHAR2(30)
METHOD_NO NOT NULL NUMBER
METHOD_TYPE VARCHAR2(6)
PARAMETERS NOT NULL NUMBER
RESULTS NOT NULL NUMBER
FINAL VARCHAR2(3)
INSTANTIABLE VARCHAR2(3)
OVERRIDING VARCHAR2(3)
INHERITED VARCHAR2(3)
SQL> desc dba_arguments
Name Null? Type
-------------------------------------- -------- --------------------------
OWNER NOT NULL VARCHAR2(30)
OBJECT_NAME VARCHAR2(30)
PACKAGE_NAME VARCHAR2(30)
OBJECT_ID NOT NULL NUMBER
OVERLOAD VARCHAR2(40)
SUBPROGRAM_ID NUMBER
ARGUMENT_NAME VARCHAR2(30)
POSITION NOT NULL NUMBER
SEQUENCE NOT NULL NUMBER
DATA_LEVEL NOT NULL NUMBER
DATA_TYPE VARCHAR2(30)
...
My first idea was:
owner <=> owner
type_name <=> package_name
method_name <=> object_name
but some methods can be overloaded (something that is not indicated in dba_type_methods), so it comes:
owner <=> owner
type_name <=> package_name
method_name <=> object_name
method_no <=> subprogram_id
but the last condition is wrong, too simple.
If anyone has an idea how to get the arguments of a type method from the dictionary, it'd be welcome.
Edit: cross-ref http://www.dba-village.com/village/dvp_forum.OpenThread?ThreadIdA=77942
[Updated on: Mon, 27 July 2015 08:29]
Report message to a moderator