WHILE
カーソルの代わりに SQL Server 2008 でループを使用しています。WHILE
ここで、プロシージャにループを記述するのに最適な方法を見つけたいと思います。
方法 1 (BREAK キーワードを使用):
DECLARE @V_Counter INT = 1;
WHILE (1 = 1)
BEGIN
PRINT @V_Counter;
SET @V_Counter = @V_Counter + 1;
IF @V_Counter = 4
BEGIN
BREAK;
END
END
方法 2 (BOOL VARIABLE を使用):
DECLARE @V_Counter INT = 1, @V_CloseLoop TINYINT = 1;
WHILE (@V_CloseLoop = 1)
BEGIN
PRINT @V_Counter;
SET @V_Counter = @V_Counter + 1;
IF @V_Counter = 4
BEGIN
SET @V_CloseLoop = 0;
END
END
私の質問は次のとおりです。
- どちらの方法を使用する必要がありますか、または両方が同じですか?
- 私が使用できる他の方法はありますか?
前もって感謝します...