能不能写按变量小计的触发器

来源:百度知道 编辑:UC知道 时间:2024/06/02 20:40:42
有二个表,一个产品表A,字段:A产品类别ID;A产品名称ID;A产品销售数量.
一个销售表B,字段:A产品类别ID;A产品名称ID;B每次销售量记录.
要求当销售表B中的产品销售量记录有增加或修改后,自动完成产品表A的A产品销售数量的小计的增加或修改.
比如:A产品类别ID;A产品名称ID;B每次销售量记录
A A01 1
A A01 2
A A01 3
A A02 3
A A02 5

以上记录成立后,
A产品类别ID;A产品名称ID;A产品销售数量由原来的
A A01 0
A A02 0
自动改为
A A01 6
A A02 8
我要的是SQL SERVER格式不会改呀,能帮忙吗

当然可以,大概跟这个差不多:

CREATE or REPLACE
TRIGGER upd_sub_total on table_B After INSERT
FOR EACH ROW
BEGIN
update table_A set sale_total= (
select sum(number_sold)
from table_B
where cat_id= :new.cat_id
and prod_id = :new.prod_id
)
where cat_id=:new.cat_id
and prod_id=:new.prod_id;
END

同样道理可以产生一个after-UPDATE 的触发器。
这是oracle格式,有兴趣地可以给该成SQL SERVER格式。