我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MSSQL 循环(游标循环及类似For的循环)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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; --读取下一行数据
    END
CLOSE 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 = 0
Begin
        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;           --赋值后进入下一循环
End
CLOSE 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  

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MSSQL 循环(游标循环及类似For的循环)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

plsql游标for循环怎么使用

在PL/SQL中,游标可以用于遍历结果集并对每一行进行操作。游标通常与FOR循环一起使用。以下是一个示例,展示了如何在PL/SQL中使用游标和FOR循环:DECLARECURSOR my_cursor ISSELECT column1,
plsql游标for循环怎么使用
2024-04-22

python中的for循环对象和循环退出

判断条件,1位true,0是flesh,成立时true,不成立flesh,not取反if  1;      print 'hello python'    print 'true'  not取反,匹配取反,表示取非1大于2的正确关系,也就
2023-01-31

Python的for循环,continu

#!/usr/bin/env python     #coding:utf-8                                      #for循环和else语法 for i in range(0,10,2):      
2023-01-31

Python在for循环中获取循环次数的方法

这篇文章主要介绍“Python在for循环中获取循环次数的方法”,在日常操作中,相信很多人在Python在for循环中获取循环次数的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python在for循环中
2023-06-02

PHP 中 for 循环和 foreach 循环的性能和可读性

本文对 PHP 中的 for 循环和 foreach 进行了比较。该比较旨在确定哪个循环具有更快的执行速度和更好的可读性。for 循环和 foreach 循环与范围我们在十万次迭代中比较了 for 循环和 foreach 循环与 range
PHP 中 for 循环和 foreach 循环的性能和可读性
2024-02-27

Shell脚本中for循环、while循环及case分支语句怎么用

本篇内容主要讲解“Shell脚本中for循环、while循环及case分支语句怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本中for循环、while循环及case分支语句怎么
2023-06-28

sqlserver游标怎么使用和循环

在 SQL Server 中,游标是一种用于遍历结果集的机制。游标可以让我们逐行地处理结果集中的数据,类似于在程序中使用循环来处理数据。使用游标的一般步骤如下:声明游标:使用 DECLARE CURSOR 语句声明一个游标,并指定要遍历的
sqlserver游标怎么使用和循环
2024-04-09

浅析Python中的for 循环

Python for 和其他语言一样,也可以用来循环遍历对象,本文章向大家介绍Python for 循环的使用方法和实例,需要的朋友可与参考一下。 一个循环是一个结构,导致第一个程序要重复一定次数。重复不断循环的条件仍是如此。当条件变为假,
2022-06-04

python中循环的写法 for

最近倒腾python,希望能坚持下去吧发现了个叫codecademy的网站,还不错http://www.codecademy.com/courses/python-beginner-en-IZ9Ra/0/1?curriculum_id=4f
2023-01-31

编程热搜

目录