У меня Firebird StoredProc запускается из триггера перед вставкой и перед обновлением, а также возвращает 3 значения. Эти 3 значения обновляют 3 поля непосредственно в одной таблице
Я поставил проверку в начале SP, если проверка верна, я хочу пропустить этот SP, поэтому я использовал «suspend» и «Exit», но когда я это сделал, я обнаружил, что обновления 3 полей имеют нулевое значение. почему это?
Триггер:
CREATE OR ALTER trigger trig1 for table1
active before insert or update position 2
AS
begin
execute procedure my_proc1 new.f1, new.f2
RETURNING_VALUES new.f3, new.f4, new.f5;
end
StoredProc (он очень большой ставлю только первые строки):
begin
if (COALESCE(Param1,0) = 1) then begin
output1 = 0;
output2 = 0;
output3 = 0;
exit;
end
Даже если я удалил блок IF и сохранил все остальное, я не получаю нули в 3 полях, кроме NULL !!!. Пожалуйста, сообщите
Спасибо