WHILE...BREAK または CONTINUE の使用
WHILE ステートメントでは、指定された条件が TRUE の間、ステートメントやステートメント ブロックが繰り返し実行されます。
BREAK または CONTINUE の 2 つの Transact-SQL ステートメントは、通常 WHILE と共に使用されます。BREAK ステートメントでは、最も内側の WHILE ループが終了します。CONTINUE ステートメントでは WHILE ループが再開されます。たとえば、他に処理対象の行がない場合、プログラムで BREAK ステートメントを実行します。他のコードの実行を続ける必要がある場合は、CONTINUE ステートメントを実行します。
メモ : |
---|
SELECT ステートメントを WHILE ステートメントの条件として使用する場合は、SELECT ステートメントをかっこで囲む必要があります。 |
次の例では、行われるフェッチの数を制御する WHILE ステートメントが使用されています。
USE AdventureWorks;
GO
DECLARE abc CURSOR FOR
SELECT * FROM Purchasing.ShipMethod;
OPEN abc;
FETCH NEXT FROM abc
WHILE (@@FETCH_STATUS = 0)
FETCH NEXT FROM abc;
CLOSE abc;
DEALLOCATE abc;
GO
WHILE では他に、次のような条件評価も使用できます。
WHILE (@ACounterVariable < 100)
または
WHILE EXISTS(SELECT LastName FROM Person.Contact WHERE FirstName = N'Anne')
参照
その他の技術情報
BEGIN...END (Transact-SQL)
END (BEGIN...END) (Transact-SQL)
BREAK (Transact-SQL)
WHILE (Transact-SQL)
CONTINUE (Transact-SQL)