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
相关文章
相关标签/搜索