2013-03-01 59 views
1

我期待创建一个过程,它的名称返回另一个存储过程DLL,但不知道如何完全做到这一点。这是我到目前为止的尝试:导出存储过程

example output 

    SET TERM^; 

    CREATE or ALTER PROCEDURE MY_REPORTS (
     objid my_id) 
    returns (
     docdate my_datetime) 
as 

begin 

    some body 

end^ 

    SET TERM ;^

您的建议是非常感谢。

+2

你的问题我也不清楚......你寻找一种方式来创建SP返回的源代码(DDL脚本)其他SP的?它与DLL有什么关系? – ain 2013-03-01 15:44:05

回答

1

您需要访问“系统表”,如RDB $ PROCEDURES和RDB $ PROCEDURE_PARAMETERS。

select p.RDB$PROCEDURE_NAME, p.RDB$PROCEDURE_SOURCE, pr.RDB$PARAMETER_NAME, pr.RDB$PARAMETER_TYPE, iif(pr.RDB$PARAMETER_TYPE=0,'INPUT','OUTPUT') PARAM_TYPE from RDB$PROCEDURES p left join RDB$PROCEDURE_PARAMETERS pr on p.RDB$PROCEDURE_NAME=pr.RDB$PROCEDURE_NAME where p.RDB$PROCEDURE_NAME='CALCULAVTO' order by pr.RDB$PARAMETER_TYPE, pr.RDB$PARAMETER_NUMBER