找不到关联名称“N”

时间:2013-01-16 17:51:17

标签: triggers sqlanywhere

我做了这个触发器:

ALTER TRIGGER "isok" AFTER INSERT
ORDER 1 ON "dba"."orderz"
REFERENCING NEW AS N
FOR EACH STATEMENT
BEGIN
    INSERT INTO comments (order_id,user_id,com_content) VALUES (N.order_id,1,'OK');
END

并且SQL Anywhere在保存时没有显示错误,但是当我想在orderz表中插入内容时,它确实出现了错误:

  

未找到相关名称“N”

我的代码可能不对,但我搜索了触发器,我不知道如何解决问题。我想要做的就是在comments表格中创建一个新行,其中包含新订单ID

有人可以告诉我如何编写一个涵盖它的表达式吗?

1 个答案:

答案 0 :(得分:1)

您需要替换

FOR EACH STATEMENT 

FOR EACH ROW

如果您使用STATEMENT,则不会引用任何行,因为即使您一次插入十行,触发器也只会触发一次。