每当更新字段sync
而标记为YES
时,我需要将该字段设置为NULL
。
CREATE TRIGGER my_trigger FOR customers
AFTER UPDATE
as
BEGIN
if(new.sync <> 'YES')
then new.sync = NULL;
end
但我一直收到错误:
动态SQL错误SQL错误代码= -104意外的命令结束 - 第6行,第26栏
我相信第6行是then new.sync = NULL
?我认为问题可能是使用;
,但事实并非如此,因为如果我删除它,那么它会在第7行中给出相同的错误。
答案 0 :(得分:3)
<强>解决。强>
有些代码丢失了但除此之外还有逻辑。我需要使用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;