有一张表A,结构如下
field1 field2 field3
a1 a2
b1 b2
我现在要根据field1和field2来计算field3字段,其中逻辑比较复杂,所以想用游标来遍历并实现业务逻辑
不知道这样用游标来对同一张table进行游标遍历和更新是不是可以,会不会造成死锁?
谢谢!
field1 field2 field3
a1 a2
b1 b2
我现在要根据field1和field2来计算field3字段,其中逻辑比较复杂,所以想用游标来遍历并实现业务逻辑
不知道这样用游标来对同一张table进行游标遍历和更新是不是可以,会不会造成死锁?
谢谢!
直接更新啊,写sql语句更新不过游标一行行去更新也是可以的
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