游标的使用


declare my_cursor cursor scroll dynamic
/*scroll表示可随意移动游标指针(否则只能向前),dynamic表示可以读写游标(否则游标只读)*/
for


select ProductID from CartoonShop_Products

open my_cursor
declare @name sysname
fetch next from my_cursor into @name
while(@@fetch_status=0)
begin
 update CartoonShop_Products set Description=fzdongmancn.fun_deleteLj(Description) where current of my_cursor
fetch next from my_cursor into @name

end
fetch first from my_cursor into @name
print @name

/* delete from 个人资料 where current of my_cursor */
close my_cursor
deallocate my_cursor



----------------------------------------------------------

USE pubs
GO

use pubs
-- 定义游标.
DECLARE authors_cursor SCROLL CURSOR FOR
SELECT au_lname, au_fname FROM authors
ORDER BY au_lname, au_fname

OPEN authors_cursor

-- 最后一条.
FETCH LAST FROM authors_cursor

-- 当前条的前一条,也就是上一条
FETCH PRIOR FROM authors_cursor



-- 相对于当前条的后一条,也就是下一条
FETCH RELATIVE 1 FROM authors_cursor


CLOSE authors_cursor
DEALLOCATE authors_cursor
GO


——————————————————————————————
    if CURSOR_STATUS('global','my_cursor')>0--加上本地是用'local'
       deallocate my_cursor
       declare my_cursor cursor
       --scroll表示可随意移动游标指针(否则只能向前),dynamic表示可以读写游标(否则游标只读)
       for
       select SpliteDate from BM_FSplitTbl where JCode=@JCode and SpliteDate>@effDate order by SpliteDate asc
       open my_cursor
       declare @SpliteDate sysname
       fetch next from my_cursor into @SpliteDate
       while(@@fetch_status=0)
       begin
         exec AA_sp_FundJudSplit @CombId,@JCode,@SpliteDate,1
         fetch next from my_cursor into @SpliteDate
       end
       close my_cursor
       DEALLOCATE my_cursor

原文地址:https://www.cnblogs.com/zhuawang/p/1183406.html