Oracle PL / SQL FOR LOOP cu Exemplu

Cuprins:

Anonim

Ce este For Loop?

Instrucțiunea „FOR LOOP” este cea mai potrivită atunci când doriți să executați un cod de un număr cunoscut de ori, mai degrabă decât pe baza altor condiții.

În această buclă, vor fi specificate limita inferioară și cea mai mare și atâta timp cât variabila buclă se află între acest interval, bucla va fi executată.

Variabila buclă este autoincrementală, deci nu este necesară nicio operație explicită de incrementare în această buclă. Variabila buclă nu trebuie declarată, deoarece este declarată implicit.

FOR  in LOOPEND LOOP;
Sintaxă Explicație:
  • În sintaxa de mai sus, cuvântul cheie „FOR” marchează începutul buclei și „END LOOP” marchează sfârșitul buclei.
  • Variabila buclă este evaluată de fiecare dată înainte de a executa partea de execuție.
  • Blocul de execuție conține tot codul care trebuie executat. Partea de execuție poate conține orice instrucțiune de execuție.
  • Bucla_variabilă este declarată implicit în timpul executării întregii bucle, iar sfera acestei bucle_variabile va fi doar în interiorul acestei bucle.
  • Dacă variabila buclă a ieșit din interval, atunci controlul va ieși din buclă.
  • Bucla poate fi făcută să funcționeze în ordine inversă prin adăugarea cuvântului cheie „INVERSARE” înainte de lower_limit.

Exemplul 1 : În acest exemplu, vom imprima numărul de la 1 la 5 folosind instrucțiunea buclă FOR. Pentru aceasta, vom executa următorul cod.

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;/

Explicatie cod:

  • Linia de cod 2 : Tipărirea declarației „Programul a început”.
  • Linia de cod 3: Cuvântul cheie „PENTRU” marchează începutul buclei și bucla_variabilă „a” este declarată. Acum va avea valoarea începând de la 1 la 5
  • Linia de cod 5: Tipărește valoarea „a”.
  • Linia de cod 6: Cuvântul cheie „END LOOP” marchează sfârșitul blocului de execuție.
  • Codul din linia 5 va continua să se execute până când „a” atinge valoarea 6, deoarece condiția va eșua, iar controlul va IEȘI din buclă.
  • Linia de cod 7: Tipărirea declarației „Program finalizat”

Bucle imbricate

Instrucțiunile buclă pot fi, de asemenea, imbricate. Bucla exterioară și interioară pot fi de diferite tipuri. În bucla imbricată, pentru fiecare valoare de iterație a buclei exterioare, bucla interioară va fi executată complet.

LOOP -outerLOOP - innerEND LOOP;END LOOP;
Sintaxă Explicație:
  • În sintaxa de mai sus, bucla exterioară are încă o buclă înăuntrul ei.
  • Buclele pot fi de orice tip, iar funcționalitatea de execuție este aceeași.

Exemplul 1 : În acest exemplu, vom imprima numărul de la 1 la 3 folosind instrucțiunea buclă FOR. Fiecare număr va fi tipărit de câte ori valoarea acestuia. Pentru aceasta, vom executa următorul cod.

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;/

Explicatie cod:

  • Linia de cod 2 : declararea variabilei „b” ca tip de date „NUMĂR”.
  • Linia de cod 4 : Tipărirea declarației „Programul a început”.
  • Linia de cod 5: Cuvântul cheie „PENTRU” marchează începutul buclei și bucla_variabilă „a” este declarată. Acum va avea valoarea începând de la 1 la 3
  • Linia de cod 7: resetarea valorii „b” la „1” de fiecare dată.
  • Linia de cod 8: Bucla interioară în timp ce verifică starea a> = b.
  • Linia de cod 10: Tipărește valoarea „a” atâta timp cât este îndeplinită condiția de mai sus.
  • Linia de cod 14: Tipărirea declarației „Program finalizat”

rezumat

Buclă PENTRU Buclă
Criterii de IEȘIRE Ieșiți când contorul atinge limita
Utilizare Bine de utilizat când se cunoaște numărul de bucle care trebuie executat.