--自动计算b列的值 这个具体算法是什么阿?CREATE TRIGGER TRIGGER_a ON a FOR INSERT, UPDATE, DELETE AS update B set b.e列 = a.numeric --a.numeric可换成根据你的算法算出的结果 from a ,b where a.id = b .id
--更新所有关联的B表的数据CREATE TRIGGER TRIGGER_a ON a FOR INSERT, UPDATE, DELETE AS update B set b.e列 = sum(a.numeric) --a.numeric可换成根据你的算法算出的结果 from a ,b where a.id = b .id group by a.id--只更新当前的关联数据我不会写
我有一个表A,有三列数据a,b,c,a列是Id,b列是numeric,我想实现这么一个功能,当这个表增加一行时或者修改,删除时,能够把与这行Id值相同的行的b列的值给合计出来,把计算出来的值,修改表B中d列Id与表A中a列Id相同的行,e列的值,请问这个是触法器吗?没用过触法器,请问哪位大哥给下代码,感谢!!!!!!!!!!!!!! 如 表A a b c 12 12.25 15 14.5 12 1.5 新插入一行的数据 能够把a列等于12的行的列数据合计出来存放在表B d e 12 14.2 13 14 表B的d列等于12的行,修改e列的数据,这个触发器该怎么写,没用过触发器啊,请哪么仁兄,给点代码
CREATE TRIGGER tr_UptDelA ON dbo.A FOR UPDATE, DELETE AS declare @bColA int declare @Total floatselect @bColA=a, @Total=sum(b) from A where a in (select a from deleted) group by aprint @bColA print @Totalif Exists(select d from B where d=@bColA) update B set e=@Total where d=@bColA else insert into B ( d ,e ) values ( @bColA ,@Total )CREATE TRIGGER tr_InsA ON dbo.A FOR INSERT AS declare @bColA int declare @Total floatselect @bColA=a, @Total=sum(b) from A where a in (select a from inserted) group by aprint @bColA print @Totalif Exists(select d from B where d=@bColA) update B set e=@Total where d=@bColA else insert into B ( d ,e ) values ( @bColA ,@Total )
FOR INSERT, UPDATE, DELETE
AS
update B set b.e列 = a.numeric --a.numeric可换成根据你的算法算出的结果
from a ,b
where a.id = b .id
FOR INSERT, UPDATE, DELETE
AS
update B set b.e列 = sum(a.numeric) --a.numeric可换成根据你的算法算出的结果
from a ,b
where a.id = b .id
group by a.id--只更新当前的关联数据我不会写
如
表A
a b c
12 12.25
15 14.5
12 1.5 新插入一行的数据
能够把a列等于12的行的列数据合计出来存放在表B
d e
12 14.2
13 14
表B的d列等于12的行,修改e列的数据,这个触发器该怎么写,没用过触发器啊,请哪么仁兄,给点代码
FOR UPDATE, DELETE
AS
declare @bColA int
declare @Total floatselect @bColA=a, @Total=sum(b)
from A
where a in (select a from deleted)
group by aprint @bColA
print @Totalif Exists(select d from B where d=@bColA)
update B set
e=@Total
where d=@bColA
else
insert into B (
d
,e
) values (
@bColA
,@Total
)CREATE TRIGGER tr_InsA ON dbo.A
FOR INSERT
AS
declare @bColA int
declare @Total floatselect @bColA=a, @Total=sum(b)
from A
where a in (select a from inserted)
group by aprint @bColA
print @Totalif Exists(select d from B where d=@bColA)
update B set
e=@Total
where d=@bColA
else
insert into B (
d
,e
) values (
@bColA
,@Total
)