在本教程中,将学习如何使用SQL Server WHILE
语句根据指定的条件重复执行语句块。
WHILE语句简介
WHILE
语句是一个控制流语句,只要指定的值为TRUE
,就重复执行语句块。
以下是WHILE
语句的语法:
WHILE Boolean_expression
{ sql_statement | statement_block}
在这个语法中:
- 首先,
Boolean_expression
是一个计算结果为TRUE
或FALSE
的表达式。 - 其次,
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
语句打印1
到5
之间的数字:
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
语句根据指定的条件重复执行语句块。