1.宣告游標
declare 游標名 cursor select語句(注:此處一定是select語句)
2.開啟游標
open 游標名
3.讀取游標資料
fetch [next | prior | first | last | absolute n | relative n ] from 游標名 into @name1,@name2...
while(@@fetch_status = 0)
begin
--要執行的sql語句
fetch next from 游標名
end4.關閉游標
close 游標名。關閉後不能對游標進行讀取等操作,但可以使用open語句再次開啟
5.釋放游標
deallocate 游標名。即刪除游標,不可再使用
例子:
declare@index
int;
declare
@userid
uniqueidentifier
;set
@index=1
;declare user_cur cursor
forselect userid from t_user order
by createtime desc
open
user_cur
fetch
next
from user_cur into
@userid
while (@@fetch_status=0
)begin
update t_user set sort=
@index
where userid=
@userid;
set@index
=@index+1
; fetch
next
from user_cur into
@userid
endclose
user_cur;
deallocate user_cur;
SQL Server 游標使用
游標概念 資料庫操作中我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?游標為我們提供了一種極為優秀的解決方案。游標 cursor 是系統為使用者開設的乙個資料緩衝區,存放sql語句的執行結果。每個游標區都有乙個名字。使用者可以用sql語句逐一從游標中獲取記錄,並賦...
sqlserver游標使用
create procedure pk test as 宣告2個變數 declare o id nvarchar 20 declare a salary float 宣告乙個游標mycursor,select語句中引數的個數必須要和從游標取出的變數名相同 declare mycursor curso...
sqlserver游標使用
什麼是游標 結果集,結果集就是select查詢之後返回的所有行資料的集合。游標則是處理結果集的一種機制吧,它可以定位到結果集中的某一行,多資料進行讀寫,也可以移動游標定位到你所需要的行中進行運算元據。一般複雜的儲存過程,都會有游標的出現,他的用處主要有 定位到結果集中的某一行。對當前位置的資料進行讀...