我试图创建一个触发器,当sales表中有更新时,它会更新product表的p\u total\u sale列。例如,当我们在sales表中为p\u id 1销售500时。那么它应该把总销售额改为3100英镑。下面是表的图像。第一个表是“tb\ U销售”,第二个表是“tb\ U产品”。
现在的问题是,我编写的代码对所有产品进行了更新。让我给你看看结果。这是密码
create trigger update_product_sales
on tb_sales
after insert
as
begin
update tb_product
set P_total_sale = P_total_sale + tb_sales.S_price
from tb_sales
where tb_product.P_ID = tb_sales.P_id
raiserror('Product table updated',16,2)
end
这是insert查询
insert into tb_sales
values(6,'2008-08-30',400,'Jensen',1)
这就是我得到的结果
我想知道我做错了什么以及如何解决它。谢谢您。
1条答案
按热度按时间voj3qocg1#
你能试试下面的代码片段吗。您只需更新新添加的“p\U id”的总销售额(不适用于所有p\ U id)