1
这是我打电话的过程:我称它是触发内如何在程序中将返回值赋给Firebird中的新变量?
set term # ;
create procedure f_rating(budget int)
returns (final_result varchar(5))
as
begin
if (budget <= 500000) then final_result = 'LOW';
else if (budget <= 850000) then final_result = 'MID';
else if (budget <= 1200000) then final_result = 'HIGH';
else if (budget > 1200000) then final_result = 'ULTRA';
end #
commit work #
:
set term # ;
CREATE TRIGGER tr_department_rating_insert for department_tester after insert
as
begin
select result from f_rating(NEW.budget) into :temp_rating;
update department_rating
set occurrences = occurrences + 1
where rating = temp_rating;
end #
commit work #
我敢肯定它可能是一个愚蠢的语法错误,但我想不出它出。
如果使用火鸟3,那么你应该考虑更换该带有函数的存储过程。 –