Voici ses principaux champs :
Nom du champ | Type du champ | Description du champ |
argument_name | VarChar | Nom du paramètre. |
data_length | Number | Taille du paramètre. |
in_out | VarChar | IN, IN OUT ou OUT. |
nullable | VarChar | Y si la valeur du paramètre peut être NULL. |
owner | VarChar | Nom du propriétaire de la procédure ou de la fonction. |
position | Number | Position du paramètre dans le vecteur de paramètres. |
procedure_name | VarChar | Nom de la procédure ou de la fonction. |
type_name | VarChar | Nom du type du paramètre. |
SELECT
b.owner,
'',
DECODE(b.procedure_name,
NULL, '',
b.object_name),
DECODE(b.procedure_name,
NULL, b.object_name,
b.procedure_name),
a.argument_name,
DECODE(a.type_name,
'BLOB', 1, 'LONG RAW', 1, 'RAW', 1,
'CHAR', 2, 'CHARACTER', 2, 'CHAR VARYING', 2, 'CHARACTER VARYING', 2, 'CLOB', 2, 'NATIONAL CHAR', 2, 'NATIONAL CHARACTER', 2,
'NATIONAL CHAR VARYING', 2, 'NATIONAL CHARACTER VARYING', 2, 'NCHAR', 2, 'NVARCHAR', 2, 'NVARCHAR2', 2, 'NCLOB', 2, 'LONG', 2,
'LONG VARCHAR', 2, 'LONG VARCHAR2', 2, 'VARCHAR', 2, 'VARCHAR2', 2,
'DATE', 3, 'TIME', 3, 'TIMESTAMP', 3,
'INT', 4, 'INTEGER', 4, 'SMALLINT', 4,
'BINARY_DOUBLE', 6, 'BINARY_FLOAT', 6,
'DECIMAL', 6, 'DECIMAL', 6, 'DOUBLE', 6, 'DOUBLE PRECISION', 6, 'FLOAT', 6, 'NUMBER', 6, 'NUMERIC', 6, 'REAL', 6,
7),
a.data_length,
DECODE(a.nullable, 'Y', 1, 0),
DECODE(a.in_out, 'OUT', 2, 'IN OUT', 3, 1),
a.position,
''
FROM ALL_ARGUMENTS a, ALL_PROCEDURES b
WHERE
a.owner=b.owner
AND a.package_name=DECODE(b.procedure_name, NULL, '', b.object_name)
AND a.object_name=DECODE(b.procedure_name, NULL, b.object_name, b.procedure_name)
AND b.object_name LIKE 'MonSchema%'
AND b.procedure_name LIKE 'MaProcedure%'
AND a.argument_name LIKE 'MonParametre%'
ORDER BY a.package_name, a.object_name, a.position;