The WHILE conditional affects the execution of only a single SQL statement, unless statements are grouped into a compound
statement between the keywords BEGIN and END.
The BREAK statement and CONTINUE statement can be used to control execution of the statements in the compound statement. The
BREAK statement terminates the loop, and execution resumes after the END keyword marking the end of the loop. The CONTINUE
statement causes the WHILE loop to restart, skipping any statements after the CONTINUE.
SQL/2008
Transact-SQL extension. The WHILE statement is part of optional SQL/2008 language feature P002, "Computational completeness".
The Transact-SQL variant of the WHILE statement does not include END WHILE.
WHILE ( SELECT AVG(UnitPrice) FROM Products ) < $30
BEGIN
UPDATE Products
SET UnitPrice = UnitPrice + 2
IF ( SELECT MAX(UnitPrice) FROM Products ) > $50
BREAK
END
The BREAK statement breaks the WHILE loop if the most expensive product has a price above $50. Otherwise, the loop continues
until the average price is greater than or equal to $30.