Sqlite update触发器给出无效语句
我在sqlite中有一个触发器,它给出了无效的语句错误 我正在尝试在插入付款后更新表订单。 触发器查找具有付款医嘱ID的所有付款,求和,并更新订单中的总额 付款表Sqlite update触发器给出无效语句,sqlite,triggers,Sqlite,Triggers,我在sqlite中有一个触发器,它给出了无效的语句错误 我正在尝试在插入付款后更新表订单。 触发器查找具有付款医嘱ID的所有付款,求和,并更新订单中的总额 付款表 Amount ID OrderID 订单表 ID Paid Bal 扳机 CREATE TRIGGER [update_order_total] AFTER INSERT ON Payments FOR EACH ROW BEGIN UPDATE Orders Set Orders.Paid =(Select SUM (Amoun
Amount
ID
OrderID
订单表
ID
Paid
Bal
扳机
CREATE TRIGGER [update_order_total]
AFTER INSERT
ON Payments
FOR EACH ROW
BEGIN
UPDATE Orders Set Orders.Paid =(Select SUM (Amount) From Payments Where OrderID = Orders.id ) WHere id = new.ID;
UPDATE Orders Set Orders.Bal = Orders.Paid - (Select SUM (Amount) From Payments Where OrderID = Orders.id ) WHere id = new.ID;
END
编辑
我对触发器进行了编辑,第一个语句现在可以工作,但第二个update语句不能
CREATE TRIGGER [update_order_total]
AFTER INSERT
ON Payments
FOR EACH ROW
BEGIN
UPDATE Orders Set Paid =(Select SUM (Amount) From Payments AS p Where p.OrderID = Orders.ID) WHere Orders.id = new.ID;
UPDATE Orders Set Bal = Paid - (Select SUM (Amount) From Payments AS p Where p.OrderID = Orders.ID) WHere Orders.id = new.ID;
END
请问我做错了什么?经过几个小时的调试,我终于用以下语句解决了自己的问题
CREATE TRIGGER [update_order_total]
AFTER INSERT
ON Payments
FOR EACH ROW
BEGIN
UPDATE Orders Set Paid =(Select SUM (Amount) From Payments AS p Where p.OrderID = Orders.ID),PayMethod =new.PayMethod WHere Orders.id = new.OrderID;
UPDATE Orders Set Bal = Total - (Select SUM (Amount) From Payments AS p Where p.OrderID = Orders.ID) WHere Orders.id = new.OrderID;
END
问候