使用 WHILE...BREAK 或 CONTINUE
只要指定的條件為真,WHILE 陳述式能將一個陳述式或陳述式區塊重複執行。
有兩個 Transact-SQL 陳述式經常與 WHILE 合用:BREAK 或 CONTINUE。BREAK 陳述式可由最內層的 WHILE 迴圈跳出,而 CONTINUE 陳述式則重新啟動 WHILE 迴圈。在沒有其他資料列需要執行的情況下,程式會執行 BREAK 陳述式。在需要繼續執行程式碼的情況下,程式會執行 CONTINUE 陳述式。
附註: |
---|
如果 WHILE 陳述式中使用 SELECT 陳述式當作條件,必須將 SELECT 陳述式放在括號內。 |
下列範例使用 WHILE 陳述式控制提取的完成次數:
USE AdventureWorks;
GO
DECLARE abc CURSOR FOR
SELECT * FROM Purchasing.ShipMethod;
OPEN abc;
FETCH NEXT FROM abc
WHILE (@@FETCH_STATUS = 0)
FETCH NEXT FROM abc;
CLOSE abc;
DEALLOCATE abc;
GO
以下介紹其他有效的 WHILE 條件測試:
WHILE (@ACounterVariable < 100)
或
WHILE EXISTS(SELECT LastName FROM Person.Contact WHERE FirstName = N'Anne')
請參閱
其他資源
BEGIN...END (Transact-SQL)
END (BEGIN...END) (Transact-SQL)
BREAK (Transact-SQL)
WHILE (Transact-SQL)
CONTINUE (Transact-SQL)