当前位置: 代码迷 >> Sql Server >> 求insert触发器写法解决思路
  详细解决方案

求insert触发器写法解决思路

热度:60   发布时间:2016-04-24 10:36:39.0
求insert触发器写法
表:
finterid  fentryid  famount  famount2
1086       1           100     120
1086       2           200
1086       3           300     280

 没次会向表中insert不确定的记录数,能否在对表insert时,使famount=famount2,每次修改的记录范围只限定本次insert的记录范围,而且当famount2=0或为null时,改记录不做修改。

也就是insert 时 表结果

表:
finterid  fentryid  famount  famount2
1086       1           100     120
1086       2           200
1086       3           300     280

保存后表结果

表:
finterid  fentryid  famount  famount2
1086       1           120     120
1086       2           200
1086       3           280     280
------解决方案--------------------
create tigger test on 表
for insert
as
update 
 表 
set  
 famount = famount 2 
from
 表 as a inner join inserted as i on a.finterid=i.finterid
where
 a.famount2 is not null  or famount2<>0

------解决方案--------------------
触发器中select * from inserted,可以获得insert的那条数据,因为insert是一条条执行的,所以也是一一条触发触发器,所以楼主不用担心记录范围
  相关解决方案