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用戶定義函數