触发更新 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;
每当更新字段 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;