sqlserver可更新的游标

一个可更新游标的例子

use fisherysale;
declare my_cursor scroll  cursor
for
select 地址 from Buyorder$ where (手机 is null  and 电话 is  null) order by 地址
for update;
open my_cursor

declare @mobile sysname,@tel sysname,@mobile2 sysname,@tel2 sysname;
fetch first from my_cursor into @mobile

while(@@fetch_status=0)
begin
    fetch next from my_cursor into @mobile2
    if (@@fetch_status=0)
    begin
        if (@mobile2 = @mobile)
        begin
              --print @mobile + '-------' + @tel
                      delete from Buyorder$ where current of my_cursor                        
        end
        else
        begin                      
            set @mobile = @mobile2;
            set @tel = @tel2;
        end
   
    end
       

end

close my_cursor
deallocate my_cursor

在查询分析器里面执行,如果碰到"在READ ONLY 游标上不能指定 FOR UPDATE"的错误提示,请检查一下这张表是否设置了主键或者索引......
 

你可能感兴趣的:(sqlserver可更新的游标)