Get stored procedure parameters' type
firebird, stored-procedures, types
Solution
You need to use the combination of the `RDB$PROCEDURE_PARAMETERS` and `RDB$FIELDS` views, as shown below:
SELECT rdb$procedure_name, rdb$procedure_parameters.rdb$parameter_name,
rdb$fields.rdb$field_name, rdb$fields.rdb$field_type
FROM rdb$procedure_parameters, rdb$fields
WHERE rdb$fields.rdb$field_name = rdb$procedure_parameters.rdb$field_source
The field type values in RDB$FIELDS are defined as follows:
BLOB - 261
CHAR - 14
CSTRING - 40
D_FLOAT - 11
DOUBLE - 27
FLOAT - 10
INT64 - 16
INTEGER - 8
QUAD - 9
SMALLINT - 7
DATE - 12
TIME - 13
TIMESTAMP - 35
VARCHAR - 37
See the Interbase Language Reference for more info on these type definitions.
Problem
I need to read the stored procedures' parameters type in Firebird database. I'm able to read their name, if they are input or output parameters, but where can I get their type? Or how do you solve this?