update #t1 set store= @store + @in_amount-@out_amount
                where id=@id
我的方法是将表建立一个主健,可是这样的话,在pb下面就会出现错误,当我的存储过程中存在对#t1表进行插入数据的时候,就会出现错误。。不能插入null。郁闷

解决方案 »

  1.   

    实际上我的做法是:先为#t1添加一个主健identity(1,1),然后再通过主健来定位。可是我现在的问题是,pb下面就会出现问题,因为我的存储过程里面有数据插入。pb认为是插入空值,所以每次都运行错过,请问如何才能实现以上的功能呢?
      

  2.   

    --执行这句就行啦:
    update 表 set b=d-e
      

  3.   

    --例子:--测试表
    declare @table table(a int,b int,d int,e int)
    insert into @table
    select 1,2,3,4
    union all select 2,3,4,5--更新处理
    update @table set b=d-e--显示处理结果
    select * from @table/*--处理结果a           b           d           e           
    ----------- ----------- ----------- ----------- 
    1           -1          3           4
    2           -1          4           5(所影响的行数为 2 行)--*/
      

  4.   

    我得意思就是如何去修改游标所指向的数据。。,不好意思,没有说清楚
    declare cursor ...... for update of b
    这是定义的时候说明b是可修改的列,那么我现在如何使用这个游标去修改游标所指的行数据的b列的数据呢?不知到说清楚了没有?谢谢
      

  5.   

    为什么不直接用update修改?update直接修改不是很方便吗?