【SQL Server】WHILE文で繰り返し処理をする

SQL Serverで
 ・WHILE文で繰り返し処理をする方法
を記載します!

SQL Serverでは
 ・WHILE文使用可能
です!

SQL Serverでは
 ・FOR文使用不可
です!

PR

SQL ServerのWHILE文の構文

SQL ServerのWHILE文の構文

WHILE 条件
  BEGIN
    条件を満たしている場合に実行する処理
    ・・・
    ・・・

  END

実行される構文が1行のみの場合は、 [BEGIN – END] を省略できます。

ですが可読性向上のために、[BEGIN – END]の記載をオススメします。

PR

SQL ServerのWHILE文の使用例

ここでは例として
 ・テーブル「employee」のレコード数を取得して
 ・レコード数の数だけ繰り返し処理を実施
します。

DECLARE
	@recordCount DECIMAL(4,0),
	@i DECIMAL(4,0)

--テーブル「employee」のレコード数を取得
SET @recordCount = (SELECT COUNT(*) FROM employee)

--カウンタ変数を初期化
SET @i = 1

--レコード数の数だけ繰り返し処理を実施
WHILE @i <=@recordCount
  BEGIN
    SELECT CONCAT('繰り返し:', @i,'回目')
		SET @i = @i +1
  END

「CONCAT関数」で文字列結合をしています(14行目)。


上記を実行すると、WHILE文で繰り返し処理ができたことを確認できます。

WHILE文で繰り返し処理
WHILE文で繰り返し処理
PR

繰り返し条件について

公式サイトに記載がある通り、以下のように
 ・繰り返し条件にSELECT文が使用可能
です。

条件にSELECT文を使用
条件にSELECT文を使用
PR

参考①

SQL ServerのWHILE文では、
 ・Break文   ※繰り返し処理から抜ける
 ・Continue文 ※繰り返し処理をスキップする
が使用できます。

PR

参考②

IF文による条件分岐もできます。

詳細は以下の記事をご確認ください。

PR

参考③

上記に記載した以下の詳細について、公式サイトをご確認ください。

●SQL ServerのWHILE文


●[BEGIN – END]について


●Break文


●Continue文

タイトルとURLをコピーしました