Usar WHILE...BREAK o CONTINUE

La instrucción WHILE repite una instrucción o bloque de instrucciones mientras la condición especificada siga siendo verdadera.

Se suelen utilizar dos instrucciones de Transact-SQL con WHILE: BREAK o CONTINUE. La instrucción BREAK sale del bucle WHILE más profundo, y la instrucción CONTINUE reinicia un bucle WHILE. Un programa podría ejecutar una instrucción BREAK si, por ejemplo, no hubiera más filas que procesar. Una instrucción CONTINUE podría ejecutarse si, por ejemplo, la ejecución del código debiera continuar.

[!NOTA] Si una instrucción SELECT se usa como condición de la instrucción WHILE, la instrucción SELECT debe ir entre paréntesis.

En el siguiente ejemplo se usa una instrucción WHILE para controlar el número de recuperaciones realizadas:

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

Otras pruebas válidas de la condición WHILE podrían ser las siguientes:

WHILE (@ACounterVariable < 100)

O bien

WHILE EXISTS(SELECT LastName FROM Person.Contact WHERE FirstName = N'Anne')

Vea también

Otros recursos

BEGIN...END (Transact-SQL)
END (BEGIN...END) (Transact-SQL)
BREAK (Transact-SQL)
WHILE (Transact-SQL)
CONTINUE (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005