삽입 전에 업데이트 전의 트리거에서 실행되는 Firebird StoredProc을 가지고 있고 또한 3 개의 값을 반환합니다. 그 3 값은 동일한 테이블에서 3 개의 필드를 직접 업데이트합니다.Firebird SQL : StoredProc은 할당 된 값 대신 null을 반환합니다.
나는 체크가 맞으면 SP 시작 부분에 체크를합니다. "정지"와 "종료"를 사용 했으므로 그 SP를 건너 뛰고 싶습니다. null 값을 가진 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가 (이 난 단지 첫 선을 매우 큰 넣어) : 나는 IF 블록을 제거하고 다른 모든 것들을 유지하더라도
begin
if (COALESCE(Param1,0) = 1) then begin
output1 = 0;
output2 = 0;
output3 = 0;
exit;
end
내가 0을 얻을 해달라고 3 필드하지만 NULL !!!
덕분에 당신은 저장 프로 시저의 충분한 게시하지 않은 것처럼