SQL 完全可以自己这样做,你使用一种叫作“触发器”的东西。
不会用的话,请先看一些资料或再来提问。

解决方案 »

  1.   

    什么SQL?那个数据库。
    你可以做一个触发器,当数量和金额插入、更新时计算一下放进去。
    不过看起来这个字段有些冗余,没有必要,取数据时计算更好些。
      

  2.   

    同意9Thoughts(一片绿洲) 你应该只存 数量  金额
    查询时用 select 数量, 金额, (数量*金额) As 总和 from ...
    或者建一个视图
      

  3.   

    if exists(select * from sysobjects where name='TriggerName' and type='tr')
    drop trigger TriggerName
    go
    create trigger TriggerName on t
    for update 
    as
    declare @variantname1 int
    declare @variantname2 int
    declare @id int select @Id=Id from deleted
    select @variantname1=a from inserted
    select @variantname2=b from inserted update t set  c=@variantname1 * @variantname2 where Id=@Id
      

  4.   

    sandy 
      你的 select @id=id from deleted 中 deleted 从哪里来的?
      

  5.   

    我提两个方案
    1.计算列;
    2.视图。
    Create View as
    Select 数量, 金额,数量*金额 as "总和" From Table
    还有,楼上提的Deleted表是SQL Server中一个专用于触发器的表,它的结构与刚被修改的表相同,存储当前操作被修改的记录。