更新时DB2触发器

更新时DB2触发器,db2,db2-luw,database-trigger,Db2,Db2 Luw,Database Trigger,我有一个包含很多列的表:(订单ID、会员ID、状态,还有更多…) 当处于状态时我将更改新状态“M”,我将订单ID、会员ID、状态保存在另一个表中XORDERSAUDIT。 我写道: CREATE or replace TRIGGER Order_Status_Update_Trigger AFTER UPDATE OF STATUS ON ORDERS REFERENCING NEW AS N FOR EACH ROW WHEN (N.STATUS = '

我有一个包含很多列的表:
(订单ID、会员ID、状态,还有更多…)
当处于
状态时
我将更改新状态“M”,我将
订单ID、会员ID、状态
保存在另一个表中
XORDERSAUDIT
。 我写道:

CREATE or replace TRIGGER Order_Status_Update_Trigger
     AFTER UPDATE OF STATUS ON ORDERS
     REFERENCING NEW AS N
     FOR EACH ROW
     WHEN (N.STATUS = 'M')
     BEGIN ATOMIC
       INSERT INTO XORDERSAUDIT
         (ORDER_ID, USERS_ID, STATUS) VALUES (N.ORDERS_ID, N.MEMBER_ID, N.STATUS);
     END;
我有一个错误:

DB2SQL错误:SQLCODE=-104,SQLSTATE=42601, SQLERRMC=语句结束;成员(身份,N.身份);, DRIVER=4.19.66 SQLState:42601错误代码:-104错误发生在:


我不理解错误,我试图更正,但遇到了相同的错误,请帮助我。

什么是语句终止符?如果您使用的是默认的“;”,那么解析器会认为这是在插入之后完成的