使用 WHILE...BREAK 或 CONTINUE

只要指定的条件为 True 时,WHILE 语句就会重复语句或语句块。

下面两个 Transact-SQL 语句通常和 WHILE 一起使用:REAK 或 CONTINUE。BREAK 语句退出最内层的 WHILE 循环,CONTINUE 语句则重新开始 WHILE 循环。例如,如果没有其他行可以处理,程序可能执行 BREAK 语句。例如,如果要继续执行代码,则可以执行 CONTINUE 语句。

ms190385.note(zh-cn,SQL.90).gif注意:
如果将 SELECT 语句用作 WHILE 语句的条件,则 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)

帮助和信息

获取 SQL Server 2005 帮助