我表里有a,b,c三个字段,我想把a-b的值存入到c字段update A set c=a-b where b=@B这样行不行

解决方案 »

  1.   

    update A set c=a-b where b=:B
    :b表示变量
      

  2.   

    如果你是用create procedure ...来创建一个存储过程,则要使用
    update A set c=a-b where b=@B
    如果你是将sql语句写在一个TAdoCommand中则要使用update A set c=a-b where b=:B
    两种方法在使用Delphi调用中给参数赋值时都是通过ParameterByName(不确定):
    ParameterByName(@b).value:=...
    或ParameterByName(b).value:=...一个更好的方法是定义一个视图:
    create view test as
    select a,b,a-b as c from tbl_name
    或在delphi query中创建:
    直接指定query的sql为:select a,b,a-b as c from tbl_name
    或创建计算字段