如何在SQL SEVER中触发器更新数据
问题描述:
例如 库存中有三个属性(产品编号,产品名称,产品数量)
当执行插入操作时,若产品编号为已有编号,产品数量=产品数量(原有)+产品数量(插入的)
只学习了ORACLE里的触发器书写,在SQL SEVER中不知道如何区分原有的属性和新加入的属性,望各位大佬指点。
答
可以这样:
create trigger trigger_store_insert
on 库存
after insert
as
update 库存 set 产品数量 = 产品数量 + inserted.产品数量
from 库存, inserted
where 库存.产品编号 = inserted.产品编号
用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢!
答
个人建议一般不用触发器,弊端很多。你也可以用存储过程来实现,或者用程序实现各种判断,方便二次开发。
答
换这个试试:
create trigger trigger_store_insert on 库存
after insert as
begin
UPDATE 库存
SET 库存.产品数量 = 库存.产品数量 + i.产品数量
FROM Inserted i
WHERE
库存.产品编号 = i.产品编号 ;
end;