SQL WHILE 循環中的遊標 用例,SQL中實現循環操做

--聲明兩個應用變量
declare @USERID_ int
declare @ORGANISEUNITID_ int
--聲明一個變量計數用,開發中能夠忽略
declare @i int=0

--建立遊標
DECLARE Employee_Cursor CURSOR FOR
--遊標對應的數據表
select organiseunitid,userid from TB_BASE_ORGANISEUNIT 
--打開遊標
OPEN Employee_Cursor
--執行對應數據表中的第一行操做,並填充值
FETCH NEXT FROM Employee_Cursor INTO  @USERID_,@ORGANISEUNITID_
 
--- @@fetch_status是MicroSoft SQL SERVER的一個全局變量 
--- 其值有如下三種,分別表示三種不一樣含義:【返回類型integer】 
--- 0 FETCH 語句成功 
--- 1 FETCH 語句失敗或此行不在結果集中 
--- 2 被提取的行不存在 
--- @@fetch_status值的改變是經過fetch next from實現的

--while判斷循環結束條件
WHILE @@FETCH_STATUS = 0
 
BEGIN
--循環體開始
	--計數開始
	set @i=@i+1
	---
	---循環過程當中要執行的操做
	---
	--打印操做結果用於測試
	print 'success'+'*'+convert(nvarchar(50), @USERID_)+'*'+convert(nvarchar(50),@ORGANISEUNITID_)+'*'+convert(nvarchar(50),@i)
 --/循環體結束

 --遊標進入下一行,並填充變量,改行放在處理操做後面
FETCH NEXT FROM Employee_Cursor  INTO  @USERID_,@ORGANISEUNITID_
END
--關閉,刪除遊標
CLOSE Employee_Cursor 
DEALLOCATE Employee_Cursor
相關文章
相關標籤/搜索