在本教學中,將學習如何使用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用戶定義函數
