Sqlserver存储过程如何写循环
时间: 2020-03-31 19:31:24
来源:网络
作者:自由
分类:数据库
简介:
Sqlserver循环的写法,工作中经常会用到存储过程,其中游标和循环经常会使用。
1.简单的循环语句
declare @i int set @i = 0 while @i < 100 begin print @i set @i = @i + 1 end
2.使用Sqlserver自带的while循环来循环表数据
-- 定义循环变量 declare @loopIndex int set @loopIndex = 0 --定义循环次数 declare @count int set @count=1 -- 取得循环次数 select @count=count(1) from sys_user -- 开始循环 while @loopIndex <= @count begin -- 定义接收参数 declare @USER_NAME nvarchar(50) -- 取得循环的数据 SELECT @USER_NAME = hh.USER_NAME FROM (SELECT ROW_NUMBER() OVER (ORDER BY USER_NAME) 'rowindex',USER_NAME FROM sys_user)hh WHERE hh.rowindex = @loopIndex -- 进行相关业务逻辑 例如输出结果 print @USER_NAME -- 循环自动加一 set @loopIndex = @loopIndex + 1 end
3.使用游标循环
begin -- 定义错误返回信息 declare @error int -- 定义接收参数 declare @User_Name varchar(50) declare @Address varchar(50) set @error=0 --定义游标 declare demo_cursor cursor for (select User_Name,Address from sys_user) --打开游标-- open demo_cursor --开始循环游标变量-- fetch next from demo_cursor into @User_Name,@Address while @@FETCH_STATUS = 0 --返回被 FETCH语句执行的最后游标的状态-- begin print @User_Name+'____'+@Address set @error= @error + @@ERROR --记录每次运行sql后是否正确,0正确 fetch next from demo_cursor into @User_Name,@Address --转到下一个游标,没有会死循环 end close demo_cursor --关闭游标 deallocate demo_cursor --释放游标 end
标签:
文章声明
版权声明:本文为作者原创,仅用于本站访客学习、研究和交流目的,未经授权禁止转载
本文标题:
Sqlserver存储过程如何写循环
了解
作者
一个90后草根站长!13年入行。一直潜心研究技术,一边工作一边积累经验,分享一些个人后端技术(java、python、c#、php等),以及前端相关等心得。
站长
推荐
友情
链接