代码之家  ›  专栏  ›  技术社区  ›  Alsin

BOL中的中断描述

  •  2
  • Alsin  · 技术社区  · 14 年前

    退出WHILE或IFELSE语句中最内部的循环。

    我不明白这部分是关于我的。看来你可以把破绽放进去。实际上,BREAK只在WHILE内部工作,并在循环结束后控制流通过。BREAK not in a WHILE上下文触发错误,这完全没关系。

    我的问题是-为什么文件提到如果…否则?

    退出最里面的WHILE循环。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Ed Harper    14 年前

    SQL 2008 BOL 说:

    一会儿退出最里面的循环 在WHILE循环中。

    这可能就是SQL2005文档 应该 我说过。

        2
  •  1
  •   Martin Smith    14 年前

    然而,SQL2008的解释似乎仍然有些混乱。对我来说,这意味着在WHILE循环中中断IFELSE语句只会退出IFELSE。事实并非如此。

    DECLARE @i INT = 0
    WHILE @i<10
    BEGIN
        IF(@i=3)
        BEGIN
            PRINT 'i=3'
            BREAK
        END
        ELSE
        BEGIN
            PRINT 'i<>3'
        END
        SET @i = @i+1
    END
    PRINT 'out of while'
    

    印刷品

    i<>3
    i<>3
    i<>3
    i=3
    out of while