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

  

原文地址:https://www.cnblogs.com/nidakun/p/4146526.html