Bucles PL/SQL

Bucles Pl Sql



Els bucles són un dels components principals de la programació. Utilitzem bucles per crear els blocs de codi manejables que es poden executar diverses vegades quan una determinada condició és certa. Són l'os fonamental a l'hora d'automatitzar les tasques repetitives sense tornar a escriure un bloc de codi diverses vegades.

Com tots els llenguatges de programació principals, PL/SQL admet bucles que permeten repetir un conjunt d'instruccions fins que es compleixi una determinada condició.

En aquest tutorial, explorarem l'ús de la instrucció LOOP a PL/SQL per executar repetidament un bloc de codi.







Oracle Loops

El llenguatge PL/SQL admet les diferents construccions de bucles com ara bucles 'for' i bucles 'while'. Podem expressar la sintaxi d'un bucle genèric a Oracle tal com es mostra a continuació:



<< etiqueta >> LOOP
declaració_bucle;
END LOOP loop_label;

Conté la paraula clau LOOP i el cos del bucle a executar i s'inclou amb la paraula clau END LOOP.



El bloc LOOP executa les accions definides i retorna el control a la clàusula de bucle superior un cop finalitzada. Normalment s'inclou en una clàusula EXIT o EXIT WHEN per acabar el bucle després que es compleixi una condició específica. Això ajuda a prevenir els bucles infinits.





Sintaxi Oracle For Loop:

A continuació es mostra la sintaxi d'un bucle 'for' a PL/SQL:

COMENÇAR
FOR loop_variable IN [límit_inferior..límit_superior] LOOP
-- codi que s'executarà al bucle
BULE FINAL;
FINAL;

Loop_variable us permet definir un bucle que s'utilitza per controlar el bucle i els límits inferior i superior. Els límits superior i inferior especifiquen els valors d'interval on es produeix l'avaluació del bucle.



Oracle While Loops

També podem definir els bucles 'while' a PL/SQL tal com es demostra amb la sintaxi següent:

COMENÇAR
WHILE condició LOOP
-- acció de bucle
BULE FINAL;
FINAL;

En un bucle 'while', l'acció del bucle s'executa repetidament mentre la condició és certa.

Cursor Oracle per a bucles

Oracle també admet els bucles 'cursor for' que ens permeten executar un conjunt d'instruccions per a cada fila d'un conjunt de resultats determinat. La sintaxi es pot expressar de la següent manera:

COMENÇAR
FOR loop_variable IN (SELECT columna1, columna2,...
DE la taula 1, taula 2,...
ON condició) LOOP
-- acció de bucle
BULE FINAL;
FINAL;

Exemple de bucles a Oracle

Els exemples següents cobreixen els conceptes bàsics de treballar amb bucles de cursor for, while i for a Oracle.

Exemple de bucle per a Oracle:

Aquest exemple mostra com utilitzar un bucle 'for' per imprimir els números de l'1 al 10.

COMENÇAR
FOR i EN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
BULE FINAL;
FINAL;

Exemple de bucle while:

Podem realitzar una acció similar utilitzant un bucle while tal com es mostra a continuació:

COMENÇAR
DECLARAR
i NÚMERO:= 1;
COMENÇAR
MENTRE i <= 10 LOOP
DBMS_OUTPUT.PUT_LINE(i);
i := i + 1;
BULE FINAL;
FINAL;
FINAL;

Això hauria de realitzar una acció similar al bucle 'for'.

Cursor per exemple de bucle:

A continuació es mostra com utilitzar el bucle 'cursor for' per obtenir el nom complet d'un client:

COMENÇAR
PER a l'empleat IN (SELECT first_name, last_name
DELS empleats) LOOP
DBMS_OUTPUT.PUT_LINE(nom.empleat. || ' ' || nom.empleat.);
BULE FINAL;
FINAL;

Exemple de sortida:

Conclusió

En aquesta publicació, us heu trobat amb tres tipus principals de bucles en llenguatge Oracle PL/SQL. Podeu consultar la documentació per explorar-ne més.