Oracle PL / SQL FOR LOOP z przykładem

Spisie treści:

Anonim

Co to jest pętla For?

Instrukcja „FOR LOOP” jest najlepsza, gdy chcesz wykonać kod określoną liczbę razy, a nie w oparciu o inne warunki.

W tej pętli dolna i górna granica zostaną określone i dopóki zmienna pętli znajduje się w tym zakresie, pętla będzie wykonywana.

Zmienna pętli jest samoczynnie inkrementalna, więc w tej pętli nie jest wymagana żadna jawna operacja inkrementacji. Zmienna pętli nie musi być deklarowana, ponieważ jest deklarowana niejawnie.

FOR  in LOOPEND LOOP;
Objaśnienie składni:
  • W powyższej składni słowo kluczowe „FOR” oznacza początek pętli, a „END LOOP” oznacza koniec pętli.
  • Zmienna pętli jest oceniana za każdym razem przed wykonaniem części wykonawczej.
  • Blok wykonania zawiera cały kod, który należy wykonać. Część wykonawcza może zawierać dowolną instrukcję wykonania.
  • Zmienna loop_variable jest deklarowana niejawnie podczas wykonywania całej pętli, a zakres tej zmiennej loop_variable będzie znajdował się tylko wewnątrz tej pętli.
  • Jeśli zmienna pętli wyszła poza zakres, sterowanie opuści pętlę.
  • Pętla może działać w odwrotnej kolejności, dodając słowo kluczowe „REVERSE” przed dolnym_limitem.

Przykład 1 : W tym przykładzie wydrukujemy liczbę od 1 do 5 za pomocą instrukcji pętli FOR. W tym celu wykonamy następujący kod.

BEGINdbms Qutput.put linef.Prp.gram started.' );FOR a IN 1… 5LOOPdbms_output.put_line(a);END LOOP:dbms_output.put_iine('Program completed.');END;/

Objaśnienie kodu:

  • Linia kodu 2 : Wydruk instrukcji „Program uruchomiony”.
  • Linia kodu 3: słowo kluczowe „FOR” oznacza początek pętli i zadeklarowana jest zmienna_pętli „a”. Teraz będzie miał wartość zaczynającą się od 1 do 5
  • Linia kodu 5: Drukuje wartość „a”.
  • Linia kodu 6: słowo kluczowe „END LOOP” oznacza koniec bloku wykonania.
  • Kod z linii 5 będzie nadal wykonywany, aż „a” osiągnie wartość 6, ponieważ warunek się nie powiedzie, a sterowanie WYJŚCIE z pętli.
  • Linia kodu 7: Drukowanie instrukcji „Program zakończony”

Pętle zagnieżdżone

Instrukcje pętli mogą być również zagnieżdżane. Pętla zewnętrzna i wewnętrzna mogą być różnych typów. W pętli zagnieżdżonej, dla każdej wartości iteracji pętli zewnętrznej, pętla wewnętrzna zostanie wykonana w całości.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Objaśnienie składni:
  • W powyższej składni zewnętrzna pętla ma w sobie jeszcze jedną pętlę.
  • Pętle mogą być dowolnego typu, a część funkcji wykonawczych jest taka sama.

Przykład 1 : W tym przykładzie wydrukujemy liczbę od 1 do 3 za pomocą instrukcji pętli FOR. Każda liczba zostanie wydrukowana tyle razy, ile jej wartość. W tym celu wykonamy następujący kod.

DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP;‭ END LOOP;‭ ‬dbms_output.put_line('Program completed' );END;/

Objaśnienie kodu:

  • Linia kodu 2 : Zadeklarowanie zmiennej „b” jako typu danych „LICZBA”.
  • Linia kodu 4 : Drukowanie instrukcji „Program uruchomiony”.
  • Linia kodu 5: słowo kluczowe „FOR” oznacza początek pętli i deklarowana jest zmienna_pętli „a”. Teraz będzie miał wartość zaczynającą się od 1 do 3
  • Linia kodu 7: Za każdym razem resetowanie wartości „b” do „1”.
  • Linia kodu 8: Wewnętrzna pętla while sprawdza warunek a> = b.
  • Linia kodu 10: Drukuje wartość „a”, o ile powyższy warunek jest spełniony.
  • Linia kodu 14: Drukowanie instrukcji „Program zakończony”

Podsumowanie

Pętla Dla pętli
Kryteria WYJŚCIA Wyjdź, gdy licznik osiągnie limit
Stosowanie Dobry w użyciu, gdy znana jest liczba pętli do wykonania.