Набросал следующее:
Код: Выделить всё
CREATE PROCEDURE SP_RESULT2 (
D float,
C float,
R float,
P float,
T float,
FORMULA VARCHAR(255))
RETURNS (
RESULT float
)
AS
begin
execute statement 'select cast('||formula||' as float) from rdb$database ' into :result;
suspend;
end
select * from sp_result2(1,2,3,4,5,'1+2')
работает
А
select * from sp_result2(1,2,3,4,5,'D+C')
или
select * from sp_result2(1,2,3,4,5,':D+:C')
не работает.
Как в execute statement сделать вычисление с переданными параметрами в процедуру?
Вопрос чисто академический, потому как задачу я все равно уже решил, хотя и чуть другим путем.