如何在SQL SEVER中触发器更新数据

如何在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;