1. 程式人生 > >簡單記錄一下日常會用到的遊標

簡單記錄一下日常會用到的遊標

判斷語句 size into 由於 spa 一行 from 子句 需要

  • 什麽是遊標

遊標是處理結果集的一種機制 ,而結果集就是select查詢返回的所有行數據的集合。

  • 遊標的用處

1.定位到結果集中的某一行。

2.對當前位置的數據進行讀寫。

3.可以對結果集中的數據單獨操作。而不是整行執行操作。

  • 遊標的分類

1.靜態遊標:操作之後,靜態遊標中select的數據依舊顯示的為沒有操作之前的數據。

2.動態遊標:所有用戶做的增刪改語句通過遊標均可見。如果使用API函數或T-SQL Where Current of子句通過遊標進行更新,他們將立即可見。

3.只進遊標:只進遊標不支持滾動,只支持從頭到尾順序提取數據,數據庫執行增刪改,在提取時是可見的,但由於該遊標只能進不能向後滾動,所以在行提取後對行做增刪改是不可見的。

  • 遊標的生命周期

遊標的生命周期包含五個階段:聲明遊標,打開遊標,讀取遊標數據,關閉遊標,釋放遊標。

  • 遊標的語法

--臨時變量,用來保存遊標值
declare 
@參數1 參數類型,
@參數2 參數類型,
@參數3 參數類型
--聲明遊標
declare y_curr cursor for
--需要循環的結果集
select (字段1,字段2) from (表名) where (條件);
--打開遊標
open y_curr 
----開始循環遊標變量
fetch next from Y_curr into @參數1,@參數2
--返回被 FETCH 語句執行的最後遊標的狀態,而不是任何當前被連接打開的遊標的狀態。
while(@@fetch_status=0)
	begin
	   --判斷語句
        
	   --開始循環遊標變量
	   fetch next from y_curr into @參數1,@參數2
  end 
--關閉遊標 
close y_curr 
--釋放遊標 
deallocate y_curr

  

簡單記錄一下日常會用到的遊標