触发更新 Firebird

Trigger on Update Firebird

每当更新字段 sync 而没有标志 YES 时,我需要将该字段设置为 NULL.

CREATE TRIGGER my_trigger FOR customers
AFTER UPDATE
as
BEGIN
if(new.sync <> 'YES')
  then new.sync = NULL;
end

但我一直收到错误消息:

Dynamic SQL Error SQL error code = -104 Unexpected end of command - line 6, column 26

我相信 第 6 行 then new.sync = NULL?我认为问题可能出在 ; 的使用上,但事实并非如此,因为如果我删除它,它会给出相同的错误,但在 行 7.

已解决。

缺少一些代码,但除此之外还有逻辑。我需要使用 BEFORE 而不是 AFTER

SET TERM !; 
CREATE TRIGGER my_trigger FOR customers 
BEFORE UPDATE 
POSITION 0 
AS BEGIN 
    IF(new.sync <> 'YES') THEN BEGIN 
        new.sync = NULL; 
    END
END;