在本教學中,將學習如何使用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
語句根據指定的條件重複執行語句塊。
上一篇:
SQL Server存儲過程
下一篇:
SQL Server用戶定義函數