id  货品名称 数量
 1    234      12
 2    234      123  
   这样的表,我在添加数据的时候怎么才能把数量相加,在放到另一张表中

解决方案 »

  1.   

    如果用sqlserver的话直接写触发器就行了,插入、删除、更新都可以自动在触发器里更新其他表,如果触发器是在表里有数据之后才加上的,那么在另一个汇总表里先初始化一下数据。
      

  2.   

    这和你的记录表里的原始数量的合计没有关系,插入记录那个货物的数量一定增加,删除则一定减少,更新则检查更新前后的数量差,关键是这个变化量,比如这样(a表代表那个录入的表,b表代表那个汇总的表)插入触发器
    create trigger xxxxx on dbo.a
    for
      insert
    as
       update b set 数量合计=数量合计+x.数量 from b,inserted x where 货物名=x.货物名删除触发器
    create trigger xxxxx on dbo.a
    for
      delete
    as
       update b set 数量合计=数量合计-x.数量 from b,deleted x where 货物名=x.货物名更新触发器
    create trigger xxxxx on dbo.a
    for
      update
    as
       declare @Num int
       select @Num=x.数量-y.数量 from inserted x,deleted y
       update b set 数量合计=数量合计+@Num from b,deleted(这里inserted也可以,都一样) x where 货物名=x.货物名