SQL Server While语句

在本教程中,将学习如何使用SQL Server WHILE语句根据指定的条件重复执行语句块。

WHILE语句简介

WHILE语句是一个控制流语句,只要指定的值为TRUE,就重复执行语句块。

以下是WHILE语句的语法:

WHILE Boolean_expression   
     { sql_statement | statement_block}

在这个语法中:

  • 首先,Boolean_expression是一个计算结果为TRUEFALSE的表达式。
  • 其次,sql_statement | statement_block是任何Transact-SQL语句或一组Transact-SQL语句。它是使用BEGIN ... END语句定义语句块。
  • 如果在进入循环时Boolean_expression的计算结果为FALSE,则不会执行WHILE循环内的语句。
  • 在WHILE循环内部,必须更改某些值以使Boolean_expression在某些点返回FALSE。 否则,它是一个无限循环。

请注意,如果Boolean_expression包含SELECT语句,则必须将其括在括号中。

要立即退出循环的当前迭代,请使用BREAK语句。 要跳过循环的当前迭代并启动新循环,请使用CONTINUE语句。

SQL Server WHILE示例

下面举一个使用SQL Server WHILE语句的例子,以更好地理解它。
以下示例说明如何使用WHILE语句打印15之间的数字:

DECLARE @counter INT = 1;

WHILE @counter <= 5
BEGIN
    PRINT @counter;
    SET @counter = @counter + 1;
END

在这个例子中:

  • 首先,声明@counter变量并将其值设置为1
  • WHILE语句的条件下,检查@counter是否小于或等于5。 如果不小于则打印@counter并将其值增加1。 经过五次迭代后,@counter累加变为6,这时WHILE子句的条件求值为FALSE,循环停止。

以下显示输出:

1
2
3
4
5

在本教程中,学习了如何使用SQL Server WHILE语句根据指定的条件重复执行语句块。


上一篇: SQL Server存储过程 下一篇: SQL Server用户定义函数