2009-12-01 71 views
2

我需要读取Firebird数据库中的存储过程参数类型。获取存储过程参数的类型

我能读取他们的名字,如果他们是输入或输出参数,但我在哪里可以得到他们的类型?或者你如何解决这个问题?

回答

8

您需要使用的RDB$PROCEDURE_PARAMETERSRDB$FIELDS意见相结合,如下图所示:在RDB $ FIELDS

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 

字段类型值的定义如下:

 
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 

见Interbase语言参考了解更多关于这些类型定义的信息。