【SQL Server入門】WHILEループの使い方|構文・フローチャート・実行例を徹底解説
WHILEループ(WHILE LOOP)は、指定した条件がTRUEを返す限り、コードを繰り返し実行したい場合に使用する制御構文です。この記事では、基本構文と具体的なサンプルコードをもとに、SQL ServerにおけるWHILEループの使い方をわかりやすく解説します。
WHILEループの基本構文
SQL ServerでWHILEループを使用する際は、以下の構文に従います。
WHILE 条件式
BEGIN
{ 条件がTRUEのときに実行される処理 }
END;
ポイント:
- 実行回数が事前に確定していない場合に、WHILEループを利用します。
- WHILEの条件はループに入る前に評価されるため、最初から条件がFALSEの場合は、ループ内の処理は一度も実行されません。
- ループを途中で強制終了したい場合は、BREAK文を使用します。
- ループの先頭から処理をやり直したい場合は、CONTINUE文を使用します。
WHILEループの処理フロー
WHILEループでは、まず条件式を評価し、TRUEであればBEGIN〜END内の処理を実行します。処理が完了すると再び条件式の評価に戻り、条件がFALSEになるまでこれを繰り返します。

実行例:1から10までの合計を求める
DECLARE @Number INT = 1;
DECLARE @Total INT = 0;
WHILE @Number <= 10
BEGIN
SET @Total = @Total + @Number;
SET @Number = @Number + 1;
END
PRINT @Total;
GO
この例では、変数@Numberが10以下である間だけ、BEGIN〜END内の処理が繰り返し実行されます。各ループで@Numberの値が@Totalに加算され、その後@Numberが1ずつ増加していきます。条件を満たさなくなると(@Number > 10)、ループは終了し、次のステートメントであるPRINTが実行されます。結果として、1から10までの合計値「55」が出力されます。
BREAKとCONTINUEの活用
BREAK文を使うと、条件の真偽にかかわらずループを即座に抜けられます。一方、CONTINUE文を使うと、残りの処理をスキップしてループの先頭に戻ります。両者を組み合わせることで、より柔軟な反復制御が可能になります。
DECLARE @Count INT = 0;
WHILE @Count < 100
BEGIN
SET @Count = @Count + 1;
IF @Count % 2 = 0
CONTINUE; -- 偶数なら以降をスキップ
IF @Count > 20
BREAK; -- 21以上になったらループ終了
PRINT @Count;
END
このように、WHILEループは反復回数が動的に変わる処理や、途中で中断・継続を切り替えたい処理に適しています。ただし、終了条件の記述を誤ると無限ループに陥る恐れがあるため、ループ変数の更新漏れには十分注意しましょう。
-
【SQL Server入門】WHILEループの使い方|構文・フローチャート・実行例を徹底解説
WHILEループ(WHILE LOOP)は、指定した条件がTRUEを返す限り、コードを繰り返し実行したい場合に使用する制御構文です。この記事では、基本構文と具体的なサンプルコードをもとに、SQL ServerにおけるWHILEループの使い方をわかりやすく解説します。 WHILEループの基本構文 SQL ServerでWHILEループを使用する際は、以下の構文に従います。 WHILE 条件式BEGIN { 条件がTRUEのときに実行される処理 }END; ポイント: 実行回数が事前に確定していない場合に、WHILEループを利用します。 WHILE
-
MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説
SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ