Bucle PL/SQL

Bucle Pl Sql



Buclele sunt unul dintre elementele de bază ale programării. Folosim bucle pentru a crea blocuri de cod gestionabile care pot fi executate de mai multe ori atunci când o anumită condiție este adevărată. Ele sunt osul fundamental atunci când automatizează sarcinile repetitive fără a rescrie un bloc de cod de mai multe ori.

Ca toate limbajele de programare majore, PL/SQL acceptă bucle care permit repetarea unui set de instrucțiuni până când este îndeplinită o anumită condiție.

În acest tutorial, vom explora utilizarea instrucțiunii LOOP în PL/SQL pentru a executa în mod repetat un bloc de cod.







Oracle Loops

Limbajul PL/SQL acceptă diferitele constructe de buclă, cum ar fi buclele „for” și buclele „while”. Putem exprima sintaxa unei bucle generice în Oracle, așa cum se arată în următoarele:



<< eticheta >> BUCLĂ
loop_statement;
END LOOP loop_label;

Acesta conține cuvântul cheie LOOP și corpul buclei de executat și este inclus cu cuvântul cheie END LOOP.



Blocul LOOP rulează acțiunile definite și readuce controlul la clauza de buclă de sus după finalizare. Aceasta este de obicei inclusă într-o clauză EXIT sau EXIT WHEN pentru a încheia bucla după ce o anumită condiție este îndeplinită. Acest lucru ajută la prevenirea buclelor infinite.





Sintaxa Oracle For Loop:

Următoarele arată sintaxa unei bucle „for” în PL/SQL:

ÎNCEPE
FOR loop_variable IN [limită_inferioară..limită_superioară] LOOP
-- codul de executat în buclă
BUCLĂ DE sfârșit;
SFÂRŞIT;

Loop_variable vă permite să definiți o buclă care este utilizată pentru a controla bucla și limitele inferioare și superioare. Limitele superioare și inferioare specifică valorile intervalului în care are loc evaluarea buclei.



Oracle While Loops

De asemenea, putem defini buclele „while” în PL/SQL, așa cum este demonstrat de următoarea sintaxă:

ÎNCEPE
WHILE starea LOOP
-- acțiune în buclă
BUCLĂ DE sfârșit;
SFÂRŞIT;

Într-o buclă „while”, acțiunea buclei este executată în mod repetat în timp ce condiția este adevărată.

Cursor Oracle pentru bucle

Oracle acceptă, de asemenea, buclele „cursor for”, care ne permite să executăm un set de instrucțiuni pentru fiecare rând dintr-un anumit set de rezultate. Sintaxa poate fi exprimată astfel:

ÎNCEPE
FOR loop_variable IN (SELECT coloana1, coloana2,...
DE LA tabelul 1, tabelul 2,...
WHERE condiția) LOOP
-- acțiune în buclă
BUCLĂ DE sfârșit;
SFÂRŞIT;

Exemple de bucle în Oracle

Următoarele exemple acoperă elementele de bază ale lucrului cu buclele de cursor for, while și for în Oracle.

Exemplu de buclă Oracle For:

Acest exemplu demonstrează cum să utilizați o buclă „for” pentru a imprima numerele de la 1 la 10.

ÎNCEPE
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
BUCLĂ DE sfârșit;
SFÂRŞIT;

Exemplu de buclă While:

Putem efectua o acțiune similară folosind o buclă while așa cum se arată în următoarele:

ÎNCEPE
DECLARA
i NUMĂR := 1;
ÎNCEPE
WHILE i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
BUCLĂ DE sfârșit;
SFÂRŞIT;
SFÂRŞIT;

Aceasta ar trebui să efectueze o acțiune similară cu bucla „for”.

Exemplu de cursor pentru buclă:

Următoarele arată cum să utilizați bucla „cursor for” pentru a obține numele complet al unui client:

ÎNCEPE
PENTRU angajat IN (SELECT prenumele, prenume
DE LA angajați) LOOP
DBMS_OUTPUT.PUT_LINE(prenume.angajat || ' ' || angajat.nume);
BUCLĂ DE sfârșit;
SFÂRŞIT;

Exemplu de ieșire:

Concluzie

În această postare, ați întâlnit trei tipuri principale de bucle în limbajul Oracle PL/SQL. Puteți verifica documentația pentru a explora mai departe.