Pętle w SQL Server / Transact-SQL


1. Jak tworzyć pętle w SQL Server / T-SQL?

Jak zapewne już wiesz, pętle w programowaniu służą do tzw. zapętlania, a więc wykonywania danego bloku kodu wiele razy. W SQL Server mamy do dyspozycji pętlę WHILE. Składnia pętli WHILE jest następująca:

Jeśli warunek wejścia do pętli nie został osiągnięty, blok kodu jest pomijany. Poniżej prosty przykład wykorzystania pętli WHILE w SQL Server w bloku kodu T-SQL. W przykładzie pętla wypisze liczby od 1 do 100. W przykładzie zastosowałem zamianę wartości liczbowej na tekstową przy pomocy funkcji znakowej CAST.

Pętle w SQL Server

Pętle w SQL Server

Poniżej podobny przykład wykorzystania pętli WHILE z blokiem T-SQL. W tym przykładzie tworzymy dwukolumnową tabelę. Następnie wprowadzamy do pierwszej kolumny liczby od 1 do 1000.

2. Warunki wyjścia z pętli i kontynuacji – BREAK I CONTINUE w pętlach Transact-SQL

BREAK w pętli WHILE to warunek wyjścia z pętli. Możemy zastosować taki warunek, jeśli chcemy, by np zakończyć wcześniej pętlę bez względu na warunek wejścia. Polecenie CONTINUE to informacja, by kontynuować dalsze działanie. Zróbmy krótki przykład modyfikujący dane w tabeli TABLE_1 z poprzedniego punktu. Warunek wejścia do pętli to ID mniejsze lub równe 900. Dla wartości mniejszych od 800 pętla  za pomocą polecenia UPDATE zmodyfikuje kolumnę VALUE wstawiając do niej wartość “Kurs SQL Server”. Po osiągnięciu ID = 800 powinno nastąpić wcześniejsze wyjście z pętli nieokreślone w warunku wejściowym WHILE.

Powyższy przykład ma za zadanie zobrazowanie w jaki sposób korzystać z BREAK I CONTINUE. Całość warunku moglibyśmy oczywiście zapisać w warunku wejścia do pętli. Przykład zastosowania pętli WHILE możesz znaleźć też na mojej stronie w artykule o funkcji zliczającej dni robocze w SQL Server. Artykuł jest częścią kursu SQL Server.

Dodaj komentarz

Twój adres email nie zostanie opublikowany.