📜  SQL Server退出运算符(1)

📅  最后修改于: 2023-12-03 14:47:36.428000             🧑  作者: Mango

SQL Server退出运算符

在 SQL Server 中,退出运算符用于在特定的条件下退出循环,可能是 WHILE 循环或 REPEAT 循环。SQL Server 提供了两个退出运算符:BREAK 和 CONTINUE。

BREAK

BREAK 运算符用于在循环内退出,即在执行循环内代码块时停止循环。当 BREAK 语句执行时,循环将立即停止并退出执行下一条语句。

以下是使用 BREAK 跳出 WHILE 循环的基本语法:

DECLARE @i INT = 1
 
WHILE @i < 10
BEGIN
    IF @i = 5
        BREAK
 
    PRINT @i
    SET @i = @i + 1
END

上面的代码将输出以下内容:

1
2
3
4

在第 5 次迭代中,如果 i 的值为 5,则 BREAK 条件成立,循环将停止。由于 BREAK 运算符已经将控制权转移到 WHILE 循环之后的下一条语句,因此不会输出 5 和 6,因为这两个值不会被打印。

CONTINUE

CONTINUE 运算符用于在循环中跳过单个迭代并继续执行下一次迭代。当 CONTINUE 语句执行时,它立即跳出当前的迭代并转移到下一次迭代的开始处。

以下是使用 CONTINUE 跳过 WHILE 循环中的单个迭代的基本语法:

DECLARE @i INT = 1
 
WHILE @i < 10
BEGIN
    IF @i = 5
    BEGIN
        SET @i = @i + 1
        CONTINUE
    END
 
    PRINT @i
    SET @i = @i + 1
END

上面的代码将输出以下内容:

1
2
3
4
6
7
8
9

在第 5 次迭代中,如果 i 的值为 5,则条件成立,CONTINUE 语句将被执行,跳过单个迭代并继续执行下一次迭代。由于 CONTINUE 运算符将控制权传递到 WHILE 循环的顶部,因此不会输出 5。

总结

BREAK 和 CONTINUE 运算符是在 SQL Server 中用于控制循环执行的基本工具。BREAK 允许立即退出循环,而 CONTINUE 允许在不执行整个代码块的情况下跳过单个迭代。理解这些运算符是编写高效 SQL 代码的重要组成部分。