SQL CONTINUE 语句

SQL Server Continue 语句对于控制 While 循环的流程非常有用。通常,我们在 While 循环内部使用此 Continue 语句。如果执行在 While 循环内部遇到 Continue 语句,它将停止执行当前循环迭代并从头开始新的迭代。

如果我们在循环中有 15 条语句。我们希望在特定条件为 True 时跳过执行一些语句(语句 2 — 语句 6,以及语句 11 — 语句 14)。否则,它必须运行循环内的所有 15 条语句。在这种情况下,我们可以放置 IF ELSE 或 ELSE IF 来检查条件。并在 if 块内将 continue 语句放入 SQL Server 中。如果条件为 True,它将停止执行语句 2 到 6 和 11 到 14;否则,它将运行语句 1 到 15。

SQL Server Continue 语法

Continue 语句的语法是

CONTINUE;

SQL CONTINUE 语句示例

在此查询中,我们将在 While 循环内部使用 Continue 语句来控制循环迭代。

-- Example
DECLARE @Val INT
SET @Val = 1

WHILE @Val <= 10
	BEGIN
		IF (@Val = 3 OR @Val = 7)
		BEGIN
			PRINT 'Skipped By Continue Statement = ' + CONVERT(VARCHAR, @Val)
			SET @Val= @Val + 1
			CONTINUE
		END
		PRINT 'Tutorial Gateway Views = ' + CONVERT(VARCHAR, @Val)
		SET @Val= @Val + 1
	END
PRINT 'This statement is Coming from Outside the While Loop'
GO
CONTINUE Statement 1

在此 continue 语句示例中,首先,我们创建了一个名为 @Val 的变量,并使用以下语句将其初始化为 10

DECLARE @Val INT
SET @Val = 1

在 While 循环中,我们检查 @Val 是否小于 10 的条件。我建议您参考 While 循环文章以了解迭代过程。

WHILE @Val <= 10

在 While 循环内部,我们放置了 IF ELSE 来测试 @Val 是否等于 3 或 7 (IF (@Val = 3 OR @Val = 7))。如果条件为 false,它将跳过 Continue 语句并返回以下语句作为输出(在我们的例子中是 1、2、4、5、6、8、9、10)。您也可以尝试 ELSE IF 以获取更多条件。

PRINT 'Tutorial Gateway Views = ' + CONVERT(VARCHAR, @Val)

如果此条件为 True,则 SQL Server Continue 语句将执行。接下来,While 循环迭代将在该数字处停止(即 3 和 7),而不打印其他语句。为了更好地理解,我们将下面的 SQL Server 语句放在 If 块内部。因此,无论何时迭代中断,该值都将从此语句中打印出来。

PRINT 'Skipped By Continue Statement = ' + CONVERT(VARCHAR, @Val)

以下语句在 While 循环之外,与 While 循环中的表达式无关。这意味着,无论条件结果如何,此语句都将执行。

PRINT 'This statement is Coming from Outside the While Loop'