SQL Server 的 BREAK 语句在退出 While 循环时非常有用。在执行循环时,如果发现 While 循环内的 break 语句,它将停止查询的运行并立即退出循环。
例如,我们有 100 行代码在 While 循环中,并且我们希望在某个条件为 True 时退出循环;否则,它必须执行所有代码。在这种情况下,我们可以使用 IF ELSE 或 ELSE IF 来检查条件,并将 SQL Break 语句放在 If 块内。如果条件为 True,它将运行 break 语句,break 会完全退出控制器退出循环。否则,它将执行所有代码行。
SQL Server 中 Break 语句的基本语法如下:
BREAK;
SQL Break 语句示例
在此查询中,我们将使用 While 循环内的 break 语句来退出循环迭代。
DECLARE @Val INT SET @Val = 10 WHILE @Val > 0 BEGIN IF (@Val = 5) BREAK PRINT 'Tutorial Gateway Views = ' + CONVERT(VARCHAR, @Val) SET @Val= @Val - 1 END PRINT 'This statement is Coming from Outside the While Loop' GO

在此 BREAK 语句示例中,首先,我们创建了一个名为 @Val 的变量,并通过以下声明将其初始化为 10。
DECLARE @Val INT SET @Val = 10
在 While 循环中,我们检查条件 @Val 是否大于 0。我建议您参考 While 文章来理解迭代过程。
WHILE @Val > 0
在 While 循环内部,我们放置了 IF ELSE 来测试 @Val 是否等于 5 (IF (@Val = 5))。如果条件为 false,它将跳过 Break 语句并输出以下消息(在我们的例子中是 10、9、8、7、6)。请也尝试 Else if。
PRINT 'Tutorial Gateway Views = ' + CONVERT(VARCHAR, @Val)
如果此条件为 True,则将执行 SQL Break 语句,While 循环迭代将在该数字(即 5)处停止。以下打印语句在 While 循环之外,与 While 中的表达式无关。这意味着,无论条件结果如何,此消息都会执行。
以下 SQL Server 语句在 While 循环之外,与 While 循环中的表达式无关。这意味着,无论条件结果如何,此打印消息都会执行。
PRINT 'This statement is Coming from Outside the While Loop'