> 데이터 베이스 > MySQL 튜토리얼 > sql server for循环的问题

sql server for循环的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 15:12:33
원래의
1838명이 탐색했습니다.

SQL Server 中没有For 循环 ,但可以使用while 循环 代替,以下是一个例子,供大家参考。 复制代码 代码示例: CREATE PROCEDURE AddStudents AS Begin Declare @n bigint Declare @Sql nvarchar(225) set @n=0 while @n10000 begin Set @Sql='Insert into St

SQL Server 中没有For循环,但可以使用while循环代替,以下是一个例子,供大家参考。
 

复制代码 代码示例:

CREATE PROCEDURE AddStudents AS
Begin
Declare @n bigint
Declare @Sql nvarchar(225)
set @n=0
while @n begin
Set @Sql='Insert into Students Values(''Hamunet'',10,''SianChina'',''123456789123'')'
Exec (@Sql)
set @n=@n+1
End

再举一个sql server for循环替代的例子吧。
下面就将对SQL进行类似For循环处理。
  

复制代码 代码示例:

  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())        if(@itemnumber>0) 
       begin 
         while @tagint              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())                  ) TableA 
                  where  TableA.RowID=@tagint 
                  ) 
                  set @tagint=@tagint+1 
            end 
       end 
 

循环后,CreatDate的yyyy-MM-dd hh:mm:ss:fff格式变成了yyyy-MM-dd格式。
解决sql server中没有for循环,用while来替代还是不错的。

本文出自:脚本学堂,转载请注明出处:http://www.jbxue.com/db/6301.html

관련 라벨:
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿