遊標(cursor)是系統為使用者開設的一個數據緩衝區,存放SQL語句的執行結果。每個遊標區都有一個名字,使用者可以用SQL語句逐一從遊標中獲取記錄,並賦給主變數,交由主語言進一步處理。 create proc cursorTest @_id int=0, @_name varchar(50)="" as--建立遊標 declare @cursor cursor--設定遊標欲操作的資料集 set @cursor=cursor for select _id,_name from users open @cursor--開啟遊標 fetch next from @cursor into @_id,@_name--移動遊標指向到第一條資料,提取第一條資料存放在變數中 while(@@fetch_status=0)begin--如果上一次操作成功則繼續迴圈 print @_name--操作提出的資料 fetch next from @cursor into @_id,@_name--繼續提下一行 end close @cursor--關閉遊標 deallocate @cursor--刪除遊標
遊標(cursor)是系統為使用者開設的一個數據緩衝區,存放SQL語句的執行結果。每個遊標區都有一個名字,使用者可以用SQL語句逐一從遊標中獲取記錄,並賦給主變數,交由主語言進一步處理。 create proc cursorTest @_id int=0, @_name varchar(50)="" as--建立遊標 declare @cursor cursor--設定遊標欲操作的資料集 set @cursor=cursor for select _id,_name from users open @cursor--開啟遊標 fetch next from @cursor into @_id,@_name--移動遊標指向到第一條資料,提取第一條資料存放在變數中 while(@@fetch_status=0)begin--如果上一次操作成功則繼續迴圈 print @_name--操作提出的資料 fetch next from @cursor into @_id,@_name--繼續提下一行 end close @cursor--關閉遊標 deallocate @cursor--刪除遊標