WHILEのあとにループ継続条件を指定し、繰り返し実行したいコードを BEGIN - END ブロックで囲みます。
WHILE の使い方
WHILE *ループ継続条件*
BEGIN
*繰り返し実行したいコード*
END
- ループ内で BREAKE が実行されるとループを抜けます。
- ループ内で CONTINUE が実行されるとループの先頭に戻ります。
サンプルコード
10回ループ--変数宣言
DECLARE @index INTEGER
--ループ用変数を初期化
SET @index = 0
WHILE @index < 10
BEGIN
--ループ用変数をインクリメント
SET @index = @index + 1
PRINT @index
END
--変数宣言
DECLARE @index INTEGER
--ループ用変数を初期化
SET @index = 0
WHILE 1=1
BEGIN
--ループ用変数をインクリメント
SET @index = @index + 1
IF @index > 10
BEGIN
--ループ終了
BREAK
END
PRINT @index
END


サンプルコードのダウンロード
サンプルコードの実行には SQL Server Express または SQL Server の環境が必要です。検証環境
- Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64) Sep 23 2020 16:03:08 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 16.04.7 LTS) <X64>
- Docker image: mcr.microsoft.com/mssql/server:2019-CU8-ubuntu-16.04
- Docker Desktop 3.2.1(61626)
- Docker Engine 20.10.5
- Microsoft SQL Server Management Studio v18.8(15.0.18369.0)
- Azure Data Studio Version: 1.26.1 (system setup)
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.844 Experience: Windows Feature Experience Pack 120.2212.551.0
- Microsoft SQL Server Express Edition (64-bit) プラットフォーム:NT x64 バージョン:10.0.2531.0
- Microsoft Windows 7 Professional Service Pack 1 (Microsoft Windows NT 6.1 (7601))