Tutorialsteacher

Follow Us

Articles
  • C#
  • C# OOP
  • ASP.NET Core
  • ASP.NET MVC
  • LINQ
  • Inversion of Control (IoC)
  • Web API
  • JavaScript
  • TypeScript
  • jQuery
  • Angular 11
  • Node.js
  • D3.js
  • Sass
  • Python
  • Go lang
  • HTTPS (SSL)
  • Regex
  • SQL
  • SQL Server
  • PostgreSQL
  • MongoDB
  • SQL Server - Get Started
  • Install SQL Server
  • SQL Server Management Studio
  • SQL Server - Windows Authentication
  • SQL Server - Authentication
  • SQL Server - Create New User
  • SQL Server - GRANT/REVOKE Permissions to User
  • SQL Server - Data Types
  • SQL Server - Naming Conventions
  • SQL Server - CREATE Database
  • SQL Server - CREATE Table
  • Add Columns
  • Identity Column
  • Rename Column, Table
  • Drop Columns
  • SQL Server - Schema
  • SQL Server - Tables Relations
  • SQL Server - Primary Keys
  • Modify/Delete Primary Keys
  • SQL Server - Foreign Keys
  • Modify/Delete Foreign Keys
  • SQL Server - Check Constraints
  • SQL Server - Unique Constraints
  • SQL Server - Views
  • Modify/Delete Views
  • SQL Server - Functions
  • SQL Server - Stored Procedures
  • Stored Procedure Parameters
  • SQL Server - Indexes
  • Non-clustered Indexes
  • Modify/Delete Indexes
  • SQL Server - Triggers
  • DDL Triggers
  • LOGON Triggers
  • Enable/Disable Triggers
  • Modify/Delete Triggers
  • SQL Server - Sequence
  • SQL Server - Synonyms
  • SQL Server - IF ELSE Statement
  • SQL Server - Loops
  • SQL Server - Insert Data
  • SQL Server - Update Data
  • SQL Server - Delete Data
  • SQL Server - Select Query
  • WHERE Clause
  • GROUP BY Clause
  • HAVING Clause
  • ORDER BY Clause
  • SQL Server - Inner Join
  • Left Join
  • Right Join
  • Full Join
  • Self Join
  • Dynamic SQL
  • Built-in Functions
Entity Framework Extensions - Boost EF Core 9
  Bulk Insert
  Bulk Delete
  Bulk Update
  Bulk Merge

Loops in SQL Server

In SQL Server, a loop is the technique where a set of SQL statements are executed repeatedly until a condition is met.

SQL Server supports the WHILE loop. The execution of the statements can be controlled from within the WHLE block using BREAK and CONTINUE keywords.

Syntax:
WHILE <condition>
    SQL Statement | statement_block | BREAK | CONTINUE

Boolean_expression : A boolean expression that returns TRUE or FALSE.

sql_statement | statement_block : A single or a group of SQL statements (statement block). Statement block should be enclosed with BEGIN and END keywords.

BREAK: Causes the flow to exit from the innermost WHILE loop. Statements after the END keyword are executed after the BREAK.

CONTINUE: Causes the WHILE loop to restart. It ignores all statements after the CONTINUE keyword.

While Loop

The following example uses the WHILE loop to print numbers.

Example: WHILE Loop
DECLARE @i INT = 10;
 
WHILE @i &lt;= 30
	BEGIN
		PRINT (@i);
		SET @i = @i + 10;
	END;

The following displays the result in SSMS.

Result in SSMS

In the above example, an integer variable @i is set to 10. The condition of the WHILE loop @i <= 30 indicates that it will execute the block until @i is 30. The block inside the WHILE loop is wrapped within the BEGIN and END keywords. The variable @i is printed and then incremented with 10.

BREAK

The following example uses the BREAK keyword to exit from the loop.

Example: WHILE with BREAK
DECLARE @i INT = 10;
 
WHILE @i &lt;= 30
	BEGIN
		PRINT (@i);
		SET @i = @i + 10;

		IF @i = 30 BREAK;
	END;
Result in SSMS

In the above example, the statement prints the value of the variable @i until the condition @i = 30 is reached where the BREAK keyword takes effect, and the loop exits.

CONTINUE

In the following example, when the condition of the WHILE loop (@i <= 30) is reached, the CONTINUE keyword will make the loop go to infinity unless you hit the stop button. When @i = 30, CONTINUE doesn't let the loop exit as shown in the result below

Example: WHILE with CONTINUE
DECLARE @i INT = 10;
 
WHILE @i &lt;= 30
	BEGIN
   		SET @i = @i + 10;
		PRINT (@i); 
		
		IF @i = 10 CONTINUE;
	END;
Result in SSMS

Nested Loops

The following example demonstrates the nested loop.

Example: Nested Loop
DECLARE @i INT = 10, @j INT = 1;

 WHILE @i &lt;= 30
	BEGIN
		PRINT CONCAT ('i = ', @i); 
  		
		WHILE @j <=3
			BEGIN
				PRINT CONCAT ('j = ', @j); 
				SET @j = @j + 1;
	  		END
		SET @i = @i + 10;
	END;

In the above example, two variables i and j are printed and incremented in two different WHILE loops. The outer WHILE loop executes the variable i is less than or equal to 50. The inner loop is executed for every run of the outer loop for the condition j <= 2.

Result in SSMS
TUTORIALSTEACHER.COM

TutorialsTeacher.com is your authoritative source for comprehensive technologies tutorials, tailored to guide you through mastering various web and other technologies through a step-by-step approach.

Our content helps you to learn technologies easily and quickly for learners of all levels. By accessing this platform, you acknowledge that you have reviewed and consented to abide by our Terms of Use and Privacy Policy, designed to safeguard your experience and privacy rights.

[email protected]

ABOUT USTERMS OF USEPRIVACY POLICY
copywrite-symbol

2024 TutorialsTeacher.com. (v 1.2) All Rights Reserved.