有一张表A,结构如下
field1   field2   field3
a1       a2       
b1       b2
我现在要根据field1和field2来计算field3字段,其中逻辑比较复杂,所以想用游标来遍历并实现业务逻辑
不知道这样用游标来对同一张table进行游标遍历和更新是不是可以,会不会造成死锁?
谢谢!

解决方案 »

  1.   


    直接更新啊,写sql语句更新不过游标一行行去更新也是可以的
      

  2.   


    declare @f1 varchar(100)
    declare @f2 varchar(100)
    declare @f3 varchar(100)declare tc cursor
    for select field1,field2 from a
    for updateopen tc
    fetch next from tc into @f1,@f2while @@fetch_status = 0
    begin
       --在这里做业务逻辑判断   update a set field3 = @f3 where current of tc--重点在这里,游标是可以更新的   fetct next from tc into @f1,@f2
    endclose tc
    deallocate tc