广告
返回顶部
首页 > 资讯 > 数据库 >MSSQL 循环(游标循环及类似For的循环)
  • 937
分享到

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

2024-04-02 19:04:59 937人浏览 泡泡鱼
摘要

利用游标循环: DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT * FROM dbo.Table) --查出需要的集合放到游标中 OPEN My_Cursor

利用游标循环:

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  
您可能感兴趣的文档:

--结束END--

本文标题: MSSQL 循环(游标循环及类似For的循环)

本文链接: https://www.lsjlt.com/news/52687.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • MSSQL 循环(游标循环及类似For的循环)
    利用游标循环: DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT * FROM dbo.Table) --查出需要的集合放到游标中 OPEN My_Cursor...
    99+
    2022-10-18
  • es6中的类似于for循环怎么用
    这篇文章主要介绍“es6中的类似于for循环怎么用”,在日常操作中,相信很多人在es6中的类似于for循环怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”es6中的类似于...
    99+
    2022-10-19
  • JavaScript中的for循环与双重for循环详解
    for循环 for循环就是对数组的元素进行循环。 语法: for (初始化变量; 条件表达式; 迭代语句) {      需要执行的代码块...
    99+
    2022-11-11
  • python基础之while循环、for循环详解及举例
    目录1.while循环1.1Whlie循环的书写方式1.2while循环的格式1.3while循环注意事项1.4while嵌套的格式1.5while练习:计算 1~100 ...
    99+
    2022-11-10
  • python中的for循环对象和循环退出
    判断条件,1位true,0是flesh,成立时true,不成立flesh,not取反 if  1;      print 'hello python'    print 'true'   not取反,匹配取反,表示取非1大于2的正确...
    99+
    2023-01-31
    对象 python
  • Python的while循环和for循环如何使用
    本文小编为大家详细介绍“Python的while循环和for循环如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python的while循环和for循环如何使用”文章能帮助大家解决疑惑,下面跟着小编...
    99+
    2022-10-19
  • Parallel.For循环与普通for循环的性能比较
    一、Parallel.For循环优于For的情况 代码: #region Parallel.For public static void Parall...
    99+
    2022-11-13
  • Python的for循环,continu
    #!/usr/bin/env python     #coding:utf-8                                      #for循环和else语法 for i in range(0,10,2):      ...
    99+
    2023-01-31
    Python continu
  • Java for循环和foreach循环的性能对比分析
    目录for循环和foreach循环的性能对比普通for循环语法foreach 循环语法for与foreach循环效率比较对于数组来说对于链表来说小结一下吧for循环和foreach循...
    99+
    2022-11-12
  • Python在for循环中获取循环次数的方法
    这篇文章主要介绍“Python在for循环中获取循环次数的方法”,在日常操作中,相信很多人在Python在for循环中获取循环次数的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python在for循环中...
    99+
    2023-06-02
  • JavaScript for循环的用法
    这篇文章主要介绍“JavaScript for循环的用法”,在日常操作中,相信很多人在JavaScript for循环的用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2022-10-19
  • PHP中For循环的用
    这篇文章主要介绍“PHP中For循环的用”,在日常操作中,相信很多人在PHP中For循环的用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中For循环的用”的疑惑有所帮...
    99+
    2022-10-19
  • 详解C语言中for循环与while循环的用法
    目录一、单层for循环二、for循环与if选择的嵌套三、多层for循环的嵌套四、while循环五、总结一、单层for循环 引例:C语言实现求1到10的和(用for循环实现) #inc...
    99+
    2022-11-13
  • Shell脚本中for循环、while循环及case分支语句怎么用
    本篇内容主要讲解“Shell脚本中for循环、while循环及case分支语句怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本中for循环、while循环及case分支语句怎么...
    99+
    2023-06-28
  • Python中的for循环详情
    目录1、可迭代对象1.1什么是可迭代对象1.2怎么判断2、字符串的for循环3、列表的for循环4、元组的for循环5、字典的for循环5.1keys()5.2 values()5....
    99+
    2022-11-12
  • 浅析Python中的for 循环
    Python for 和其他语言一样,也可以用来循环遍历对象,本文章向大家介绍Python for 循环的使用方法和实例,需要的朋友可与参考一下。 一个循环是一个结构,导致第一个程序要重复一定次数。重复不断...
    99+
    2022-06-04
    Python
  • Shell中的for循环总结
    关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... for((i=1;i<=10;i++));do ech...
    99+
    2022-06-04
    Shell
  • python中循环的写法 for
    最近倒腾python,希望能坚持下去吧 发现了个叫codecademy的网站,还不错http://www.codecademy.com/courses/python-beginner-en-IZ9Ra/0/1curriculum_id=4...
    99+
    2023-01-31
    写法 python
  • Python for循环的使用(三)
    Python for循环的使用 (一)for循环的使用场景 1.如果我们想要某件事情重复执行具体次数的时候可以使用for循环。 2.for循环主要用来遍历、循环、序列、集合、字典,文件、甚至是自定义类或函数。 (二)f...
    99+
    2023-01-31
    Python
  • Python中的用for,while循环
    使用for循环遍历文件打开文件open     r:以读模式打开    w:以写模式打开    a:以追加模式打开    r+:以读写模式打开    w+:以读写模式打开(参见w)    a+:以读写模式打开(参见a)    rb:以二进制...
    99+
    2023-01-31
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作