zoukankan      html  css  js  c++  java
  • SQL 语句对每一行进行循环操作的几种方法

    SQL 语句对每一行进行循环操作的几种方法

    1、游标

    Declare @SN varchar(16)   --变量
    Declare iCursor Cursor For  --游标
         select Distinct SNum from Table1 where zd1 like '%test%'
    Open iCursor  --打开游标
    FETCH Next from iCursor Into @SN--用来对每一行来进行循环操作 
    WHILE @@FETCH_STATUS = 0
    Begin
        --此处对每一行要进行的操作的代码 
        Fetch Next from iCursor into @SN
    END
    CLOSE iCursor  --关闭游标
    DEALLOCATE iCursor
    

      

    2、IDENTITY

    select * from Table1 where zd1 like '%test%'
    select zd2,IDENTITY(INT,1,1) AS RNum
        into #TempSN    --插入临时表
        from Table1
        where zd1 like '%test%'
        ORDER BY zd2
    
    Declare @maxRow int --用来获得最大的 行数
    Declare @rowNo int 
    Select @maxRow=max(RNum) from #TempSN 
    set @rowNo=1 
    While @rowNo<=@maxRow --用来对每一个行来进行循环操作 
    Begin 
        --此处对每一行要进行的操作的代码 
        Set @rowNo=@rowNo+1 
    End 
    Drop Table #TempSN--清除临时表 

      

    3、RowNumber (SQL 2005 以上含版本支持)

    select * from Table1 where zd1 like '%test%'
    
    select zd2,ROW_NUMBER() OVER(ORDER BY zd2) AS RowNumber
        into #TempSN   --插入临时表
        from Table1
        where zd1 like '%test%'
    
    Declare @maxRow int --用来获得最大的rowNumber 
    Declare @rowNo int 
    Select @maxRow=max(rownumber) from #TempSN 
    set @rowNo=1 
    While @rowNo<=@maxRow --用来对每一个rowNumber来进行循环操作 
    Begin 
        --此处对每一行要进行的操作的代码 
        Set @rowNo=@rowNo+1 
    End 
    Drop Table #TempSN--清除临时表
    

      

      

    创建时间:2020.10.15  更新时间:

  • 相关阅读:
    centos7.6 安装与配置 MongoDB yum方式
    MongoDB 介绍
    centos 关闭selinux
    前端 HTML标签属性
    前端 HTML 标签嵌套规则
    前端 HTML 标签分类
    前端 HTML body标签相关内容 常用标签 表单标签 form里面的 input标签介绍
    前端 HTML body标签相关内容 常用标签 表单标签 form 表单控件分类
    前端 HTML form表单标签 select标签 option 下拉框
    POJ 1426
  • 原文地址:https://www.cnblogs.com/guorongtao/p/13821513.html
Copyright © 2011-2022 走看看