34,594
社区成员
发帖
与我相关
我的任务
分享
CREATE TRIGGER panlu ON dbo.TB_AnsiMatch
FOR INSERT,UPDATE
AS
if not (update(a) or update(b))
return
update a
set c=i.a+case when i.Type=1 then i.b else -i.b end
from [table] a
inner join (select ID,Type,sum(a) a,sum(b) b from inserted group by ID,Type)i on a.ID=i.ID
declare @id int
select @id = min(id) from inserted
while @id is null
begin
--循环
select @id = min(id) from inserted where id > @id
end
CREATE TRIGGER panlu ON dbo.TB_AnsiMatch
FOR UPDATE
AS
if update(a) or update(b)
update A set c=CASE WHEN type =1 THEN a+b ELSE a-b END FROM [Table] A INNER JOIN Inserted B ON a.id=b.id