MSSQL 循环(游标循环及类似For的循环)
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,利用游标循环:DECLARE My_Cursor CURSOR --定义游标FOR (SELECT * FROM dbo.Table) --查出需要的集合放到游标中OPEN My_Cursor; --
千家信息网最后更新 2025年01月20日MSSQL 循环(游标循环及类似For的循环)
利用游标循环:
DECLARE My_Cursor CURSOR --定义游标FOR (SELECT * FROM dbo.Table) --查出需要的集合放到游标中OPEN My_Cursor; --打开游标FETCH NEXT FROM My_Cursor ; --读取第一行数据WHILE @@FETCH_STATUS = 0 BEGIN --UPDATE dbo.Table SET 字段1 ='***' WHERE CURRENT OF My_Cursor; --更新 --DELETE FROM dbo.Table WHERE CURRENT OF My_Cursor; --删除 FETCH NEXT FROM My_Cursor; --读取下一行数据 ENDCLOSE My_Cursor; --关闭游标DEALLOCATE My_Cursor; --释放游标
利用游标赋值循环:
declare @参数1 参数1类型,@参数2 参数2类型DECLARE MyCursor CURSOR --定义游标(利用游标循环)FOR (select 字段1,字段2 from Table) --查出需要的集合放到游标中 order by 字段1 --排序语句放在括号外OPEN MyCursor; --打开游标FETCH NEXT FROM MyCursor INTO @参数1 ,@参数2; --读取第一行数据WHILE @@FETCH_STATUS = 0Begin if 条件成立 begin --如需跳过当前循环,需先赋值,再continue,否则会进入死循环 FETCH NEXT FROM MyCursor INTO @参数1 ,@参数2; continue; --跳过当前循环,进入下一循环 end if 条件成立 begin Break; --跳出整个循环 end /* 需要在循环内处理的*** */ --PRINT @参数1,参数2; --打印参数值(调试) --UPDATE Table set 字段3=*,字段4=* where 字段1=@参数1 and 字段2=@参数2 --Insert into Table1(字段1,字段2) values(参数1,参数2) --Delete from table where 字段1=参数1 and 字段2=参数2 FETCH NEXT FROM MyCursor INTO @参数1 ,@参数2; --赋值后进入下一循环EndCLOSE MyCursor; --关闭游标DEALLOCATE MyCursor; --释放游标
类似For循环的SQL循环:
declare @itemnumber int --定义需要循环的次数 declare @tagint int --定义标志字段,用于结束循环 set @tagint=1 select @itemnumber = count(distinct Creater) from Demo_TestTable where isnull(Creater,'')<>'' And DATEDIFF(DAY,CreatDate,GETDATE())<1 if(@itemnumber>0) begin while @tagint<=@itemnumber begin waitfor delay '00:00:01' --每隔一秒再执行 可用参数变量替换 Update Demo_TestTable set CreatDate=GETDATE() where Creater =( Select Creater from ( select Creater,ROW_NUMBER() over(order by Creater) as RowID from Demo_TestTable where isnull(Creater,'')<>'' And DATEDIFF(DAY,CreatDate,GETDATE())<1 group by Creater ) TableA where TableA.RowID=@tagint ) set @tagint=@tagint+1 end end
参数
循环
游标
字段
一行
数据
条件
类型
变量
后进
括号
标志
次数
语句
处理
排序
更新
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大学生如何才能做好网络安全
剑网3手游服务器排行
上海童颜网络技术有限公司
戴尔服务器怎么装软件
数据库表的字段最多
hp的服务器网址管理
服务器能用office吗
网络安全协会座谈会
违反学生网络安全守则
关于网络安全日的大标题
省市区三级联动数据库js
蓝牙耳机软件开发用什么语言
桶装水配送数据库
潮汕安卓软件开发有用吗
335 三级网络技术
医院信息网络安全性
换手机时将qq旧数据库
什么是服务器面板
泰拉瑞亚云服务器整合包
温州智能软件开发系统
5e香港服务器
上海公安局网络安全中心招聘
算力网络技术内涵
甘肃高配服务器虚拟主机
数据库删除一个表的结构用什么
管理代理服务器设置在哪里
电竞服务器报价
lol手游服务器上线
程序访问远程服务器
常见数据库错误的是