SQL 遊標使用

遊標一般格式:
DECLARE 遊標名稱 CURSOR FOR SELECT 字段1,字段2,字段3,… FROM 表名 WHERE …
OPEN 遊標名稱
FETCH NEXT FROM 遊標名稱 INTO 變量名1,變量名2,變量名3,…
WHILE @@FETCH_STATUS=0
BEGIN
SQL語句執行過程… …
FETCH NEXT FROM 遊標名稱 INTO 變量名1,變量名2,變量名3,…
END
CLOSE 遊標名稱
DEALLOCATE 遊標名稱 (刪除遊標)
下面以例子說明:

1 table1結構如下
id int
name varchar(50)

declare @id int
declare @name varchar(50)
declare cursor1 cursor for –定義遊標cursor1
select * from table1 –使用遊標的對象(跟據需要填入select文)
open cursor1 –打開遊標

fetch next from cursor1 into @id,@name –將遊標向下移1行,獲取的數據放入之前定義的變量@id,@name中

while @@fetch_status=0 –判斷是否成功獲取數據
begin
update table1 set name=name+’1’
where id=@id –進行相應處理(跟據需要填入SQL文)

fetch next from cursor1 into @id,@name –將遊標向下移1行
end

close cursor1 –關閉遊標
deallocate cursor1 –回收遊標

發佈了6 篇原創文章 · 獲贊 23 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章