sql-server - SQL Server 2008 中的 Do while 循环

标签 sql-server sql-server-2008 loops while-loop do-while

SQL Server 2008中有没有实现do while循环的方法?

最佳答案

我不确定 MS SQL Server 2008 中的 DO-WHILE,但您可以更改 WHILE 循环逻辑,以便像 DO-WHILE 循环一样使用。

示例取自此处:http://blog.sqlauthority.com/2007/10/24/sql-server-simple-example-of-while-loop-with-continue-and-break-keywords/

  1. Example of WHILE Loop

    DECLARE @intFlag INT
    SET @intFlag = 1
    WHILE (@intFlag <=5)
    BEGIN
        PRINT @intFlag
        SET @intFlag = @intFlag + 1
    END
    GO
    

    ResultSet:

    1
    2
    3
    4
    5
    
  2. Example of WHILE Loop with BREAK keyword

    DECLARE @intFlag INT
    SET @intFlag = 1
    WHILE (@intFlag <=5)
    BEGIN
        PRINT @intFlag
        SET @intFlag = @intFlag + 1
        IF @intFlag = 4
            BREAK;
    END
    GO
    

    ResultSet:

    1
    2
    3
    
  3. Example of WHILE Loop with CONTINUE and BREAK keywords

    DECLARE @intFlag INT
    SET @intFlag = 1
    WHILE (@intFlag <=5)
    BEGIN
        PRINT @intFlag
        SET @intFlag = @intFlag + 1
        CONTINUE;
        IF @intFlag = 4 -- This will never executed
            BREAK;
    END
    GO
    

    ResultSet:

    1
    2
    3
    4
    5
    

但请尝试在数据库级别避免循环Reference .

关于sql-server - SQL Server 2008 中的 Do while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4487546/

相关文章:

sql - SQL Server 数据库中的 DF__role_sett__custo__4589517F 是什么意思?

javascript - 如何在 JS 中循环遍历多级对象?

sql-server - 删除非聚集索引时会发生什么?

sql-server - SQL Server 中的表 "Inheritance"

sql - 如何在 SQL Server 中为字符串中的每个字符添加逗号和单引号?

sql-server-2008 - 如何处理ColdFusion存储过程结果中的错误?

mysql - SQL Server 查询替换 MySQL 指令

Java While 循环以负数中断

python 2.7.5,获取多个用户输入以加载超过 1 个数组/列表,循环问题

使用 SQLyog 备份 MySQL 表