2013-03-01 4 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

Ваш вопрос не ясно мне ... вы ищете способ, чтобы создать СП, которое возвращает исходный код (DDL-скрипт) другого SP? Что это связано с DLL? – ain

ответ

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