sqlserver 触发器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 触发器相关的知识,希望对你有一定的参考价值。

我有两个表 tb_material ID为主键 name 为唯一键

另一个表td_recipe ID为主键 name键和tb_material里的name是一样的

因为te_recipe里记录的是td_material里的信息,我现在想键个触发器,只要td_material中的weight 或price改变的时候就改变所有相同name的price和weight 谁帮我写个

参考技术A create TRIGGER Update_S on td_material
for update
as
begin
declare @weightBefore nvarchar(4000)
declare @weightAfter nvarchar(4000)
declare @priceBefore decimal(18,2)
declare @priceAfter decimal(18,2)
set @weightBefore=(select weight From deleted)
set @priceBefore=(select price From deleted)
set @weightAfter=(select weight From Inserted)
set @priceAfter=(select price From Inserted)
update te_recipe set weight=@weightAfter where weight=@weightBefore;
update te_recipe set price=@priceAfter where price=@priceBefore; 
end

如果是单纯的更新,上面就可以了

如果还有其他条件,比如id相同什么的参考上面的添加相应的逻辑就可以了

以上是关于sqlserver 触发器的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver触发器如何知道当前处理啥类型的触发

sqlserver 2005 触发器,的小问题

java如何在sqlserver触发器里面调用webservice接口

sqlserver2005触发器问题

sqlserver,触发器做备份表如何插入当前时间?

SQLserver中的触发器,实现一个表的某字段修改后,另一张表的对应字段也修改