Udostępnij za pośrednictwem


Using WHILE...BREAK or CONTINUE

W instrukcji WHILE powtarza instrukcja lub blok instrukcji, dopóki określony warunek jest spełniony.

Dwa Transact-SQL instrukcje są często używane z WHILE: BREAK lub Kontynuuj. Instrukcja BREAK zamyka innermost podczas pętli i Kontynuuj instrukcji pętli WHILE ponownego uruchomienia.Program może wykonać instrukcję BREAK, jeśli na przykład, nie ma żadnych innych wierszy do przetwarzania.Instrukcja CONTINUE może zostać wykonany, jeśli na przykład, należy kontynuować wykonywanie kodu.

Uwaga

Jeśli instrukcja SELECT jest używana jako warunek dla instrukcji WHILE, instrukcja SELECT musi znajdować się w nawiasach.

Przykłady

A.Za pomocą podczas pracy w kursor

W poniższym przykładzie użyto WHILE Instrukcja kontrolować, ile pobiera są wykonywane.

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

Inne ważne podczas testów warunek może być następujący:

WHILE (@ACounterVariable < 100)

Or

WHILE EXISTS(SELECT LastName FROM Person.Contact WHERE FirstName = N'Anne')

B.Za pomocą BREAK i Kontynuuj z zagnieżdżonymi IF... ELSE i WHILE

W poniższym przykładzie, jeśli średnia cena katalogowa produktu jest mniejsza niż $300, WHILE pętli podwaja ceny, a następnie wybiera maksymalna cena. Jeśli maksymalna cena jest niższa niż lub równe $500, WHILE Pętla zostanie ponownie uruchomiony i ponownie podwaja ceny. Pętlę w dalszym ciągu Podwajanie ceny, dopóki nie jest większa niż maksymalna cena $500, a następnie kończy działanie WHILE w pętli i na wydruku wiadomości.