SQL WHILE 循环中的游标 用例,SQL中实现循环操作

时间:2023-03-08 15:17:10
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