SQL Server 游標使用

2022-02-13 02:25:13 字數 1043 閱讀 5262

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查詢之後返回的所有行資料的集合。游標則是處理結果集的一種機制吧,它可以定位到結果集中的某一行,多資料進行讀寫,也可以移動游標定位到你所需要的行中進行運算元據。一般複雜的儲存過程,都會有游標的出現,他的用處主要有 定位到結果集中的某一行。對當前位置的資料進行讀...