Triggers 相关名称';N';找不到

Triggers 相关名称';N';找不到,triggers,sqlanywhere,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 插入后更改触发器“isok” “dba”“orderz”上的订单1 引用新的AS N 对于每

我扣动了这个扳机:

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 插入后更改触发器“isok” “dba”“orderz”上的订单1 引用新的AS N 对于每个语句 开始 在注释(order_id、user_id、com_content)中插入值(N.order_id,1,'OK'); 结束 当我保存SQL Anywhere时,它没有显示错误,但现在当我想在
orderz
表中插入内容时,它会显示错误:

找不到相关名称“N”

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

有人能告诉我如何写一个表达式来覆盖它吗?

您需要替换它

FOR EACH STATEMENT 

如果使用
语句
,则没有要引用的行,因为即使一次插入十行,触发器也只会触发一次

您需要更换

FOR EACH STATEMENT 


如果使用
语句
,则没有要引用的行,因为即使一次插入十行,触发器也只会触发一次

谢谢,这真的很有帮助:)也许你知道我可以访问一个页面来获得关于触发器的更清晰的信息?由于我的英语说得不好,其中许多对我来说真的很困惑。@Maciej首先,通过阅读你的问题和评论,我认为你对英语的掌握已经足够好了。第二,除了Sybase SQL Anywhere手册之外,我不知道有什么好的资源针对这个特定的DBMS:您可能想试试哪个是专门针对SQL Anywhere的问答网站(由SAP Sybase运行)。谢谢,这真的很有帮助:)也许您知道我可以访问一个页面,以获得关于触发器的更清晰信息?由于我的英语说得不好,其中许多对我来说真的很困惑。@Maciej首先,通过阅读你的问题和评论,我认为你对英语的掌握已经足够好了。第二,除了Sybase SQL Anywhere手册之外,我不知道有什么好的资源针对这个特定的DBMS:您可能想试试哪个是专门针对SQL Anywhere的问答网站(由SAP Sybase运行)。