一般情況下,我們用SELECT這些查詢語句時,都是針對的一行記錄而言,
如果要在查詢分析器中對多行記錄(即記錄集)進行讀取操作時,則需要使用到遊標或WHILE等循環
遊標的類型:
1、靜態遊標(不偵測資料行的變化)
2、動態遊標(反映所有資料行的變更)
3、僅向前遊標(不支援捲動)
4.鍵集遊標(能反映修改,但無法精確反映插入、刪除)
遊標使用順序:
1、定義遊標
2、開啟遊標
3、使用遊標
2、開啟遊標
3、使用遊標
Transact-SQL:
declare 遊標名 cursor [LOCAL | GLOBAL][FORWARD_ONLY | SCROLL][STATIC | KEYSET | DYNAMIC ] [READ_ONLY | SCROLL_LOCKS] .附註:LOCAL 局部遊標 GLOBAL 全域遊標
FORWARD_ONLY 僅向前 SCROLL 捲動
取得遊標的資料
FETCH [[NEXT | PRIOR | FIRST | LAST |
From ] 遊標名[into 變數]
附註:
NEXT 下一行 PRIOR 行
RELATIVE n 目前位置開始的第n行
into 變數 將目前行程的各場值賦值給變數
遊標狀態變數:
@@fetch_status @@cursor_rows 遊標中結果集中的行數
n 行數-1 遊標是動態的 0 空集遊標
current of 遊標名
標例1:使用遊標例對曆
declare @auid char(12),@aulname varchar(20),@aufname varchar(20), @st char(2),@auinfo varchar(50)
for來au_fname, state
print '所在州: '+@st
-----------' fetch next from auth_cur into @auid,@aulname,@aufname, @st endclose @st
end
close @st endclose @st
¡刪除資料
declare auth_cur cursor scroll for
select au_id, au_lname, au_fname, state
from authors for update of aunamedate of c
set @rowcount = 6
fetch absolute @rowcount from auth_cur --將變數@rowcount標識的行設定為目前行
--下面1行是利用遊標進行修改操作
update authors set au_lname='張' where current of auth_cur --修改遊標中的目前行
--下面1行是利用遊標進行刪除操作
delete from authors where current of auth_cur

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器