二个表ORDERS和ORDER DETAIL
算法如下:在我更新ORDER DETAIL时,一起更新ORDERS,用触发器实现如下:
------------插入操作时
CREATE TRIGGER intOrderdetail
ON [ORDER DETAILS]
FOR INSERT AS
update orders
set SUM_MONEY=SUM_MONEY+unitprice*quantity*(1-discount)
from orders s, inserted ins
where s.orderid=ins.orderid
---------------UPDATE操作时(分两步DELETED和INSERTED)
CREATE TRIGGER updOrderdetail
ON [ORDER DETAILS]
FOR update AS
update orders
set SUM_MONEY=SUM_MONEY-unitprice*quantity*(1-discount)
from orders s, deleted del
where s.orderid=del.orderid
update orders set SUM_MONEY=SUM_MONEY+unitprice*quantity*(1-discount)
from orders s, inserted ins
where s.orderid=ins.orderid
--------删除操作时
CREATE TRIGGER delOrderdetail
ON [ORDER DETAILS]
FOR DELETE AS
update orders set SUM_MONEY=SUM_MONEY-unitprice*quantity*(1-discount)
from orders s, deleted del
where s.orderid=del.orderid
关于ROLE,要删除角色时,必须除去它属于的用户才可以删除它。
本文介绍了一种使用触发器在更新或修改订单详情时同步更新订单总额的方法。具体包括插入、更新及删除操作对应的触发器实现,确保订单总金额始终准确。
6万+

被折叠的 条评论
为什么被折叠?



