In this article I will explain with an example, how to use WHILE LOOP in SQL Server (Transact-SQL).
The WHILE statement as used in various programming languages works in similar way in SQL Server. It is a control flow statement and it is used to perform iterations until the condition holds TRUE.
Syntax
Following is the syntax of WHILE LOOP in SQL Server. It consists of a Boolean Expression which needs to be TRUE in order to execute the WHILE LOOP.
The Statements to be executed will lie between the BEGIN and END keywords.
WHILE <Boolean Expression>
BEGIN
<Statements to be executed>
END
SIMPLE WHILE LOOP
Example
In the following example, the name Mudassar Khan will be printed until the @Count variable value is less than 10.
DECLARE @Count INT =0
WHILE @Count < 10
BEGIN
PRINT 'Mudassar Khan'
SET @Count = @Count + 1
END
Output
In the following example, the name Mudassar Khan will be printed until the @Count variable value is less than 10.
BREAK statement in WHILE LOOP
Example
In the following example, the name Mudassar Khan will be printed until the @Count variable value is less than 10. But here, when the @Count variable value is 7, then the WHILE LOOP is stopped using the BREAK statement.
DECLARE @Count INT =0
WHILE @Count < 10
BEGIN
IF @Count = 7
BEGIN
PRINT 'STOPPED'
BREAK
END
PRINT 'Mudassar Khan'
SET @Count = @Count + 1
END
Output
In the following example, the name Mudassar Khan will be printed until the @Count variable value is not equal to 7.
CONTINUE statement in WHILE LOOP
Example
In the following example, the name Mudassar Khan will never be printed as the CONTINUE statement ignores the statements after it.
DECLARE @Count INT =0
WHILE @Count < 10
BEGIN
PRINT 'ASPSNIPPETS'
SET @Count = @Count + 1
CONTINUE
PRINT 'Mudassar Khan'
END
Output
In the following example, the name Mudassar Khan will never be printed due to the CONTINUE statement.