sql游标技巧(学习日记)

来源:互联网 发布:外部端口80被占用 编辑:程序博客网 时间:2024/06/08 17:42

 

-------------------------游标技巧
--------定义游标
declare  my_cursor1 cursor
for
select * from (select max(address) as address,max([id]) as [id],count(*) as num from T_NUM group by address) A  where num>=2

--------打开游标
open my_cursor1

declare @id int,@address nvarchar(100),@num int
-------游标向下滚动
fetch next from my_cursor1 into @address,@id,@num
-------循环滚动
while(@@fetch_status=0)
begin
 delete T_NUM where [id]<>@id and address= @address
 fetch next from my_cursor1 into @address,@id,@num
end
-------关闭游标
close my_cursor1

-------删除游标引用
deallocate  my_cursor1