Loop PL/SQL

Loop PL/SQL
I loop sono uno dei mattoni primari nella programmazione. Usiamo i loop per creare i blocchi di codice gestibili che possono essere eseguiti più volte quando una determinata condizione è vera. Sono l'osso fondamentale quando automatizzano le attività ripetitive senza riscrivere un blocco di codice più volte.

Come tutti i principali linguaggi di programmazione, PL/SQL supporta i loop che consentono di ripetere una serie di istruzioni fino a quando non viene soddisfatta una determinata condizione.

In questo tutorial, esploreremo l'uso dell'istruzione Loop in PL/SQL per eseguire ripetutamente un blocco di codice.

Oracle Loops

Il linguaggio PL/SQL supporta i vari costrutti ad anello come loop "per" e loop "while". Possiamo esprimere la sintassi di un ciclo generico in Oracle come mostrato nel seguente:

<

Questo contiene la parola chiave loop e il corpo del ciclo da eseguire ed è racchiuso con la parola chiave ad anello finale.

Il blocco ad anello esegue le azioni definite e restituisce il controllo alla clausola ad anello superiore dopo il completamento. Questo è di solito racchiuso in un'uscita o in uscita quando la clausola per terminare il loop dopo che viene soddisfatta una condizione specifica. Questo aiuta a prevenire i loop infiniti.

Oracle per la sintassi del loop:

Di seguito mostra la sintassi di un ciclo "per" in PL/SQL:

INIZIO
Per loop_variable in [Lower_bound ... Upper_bound] Loop
-- codice da eseguire nel ciclo
End Loop;
FINE;

Loop_variable consente di definire un ciclo utilizzato per controllare il loop e i limiti inferiori e superiori. I limiti superiore e inferiore specificano i valori dell'intervallo in cui si verifica la valutazione del loop.

Oracle durante i loop

Possiamo anche definire i loop "while" in PL/SQL, come dimostrato dalla seguente sintassi:

INIZIO
Mentre il ciclo delle condizioni
-- Azione del loop
End Loop;
FINE;

In un ciclo "mentre", l'azione del loop viene eseguita ripetutamente mentre la condizione è vera.

Cursore Oracle per loop

Oracle supporta anche i loop "cursore per" che ci consente di eseguire una serie di istruzioni per ogni riga in un determinato set di risultati. La sintassi può essere espressa come segue:

INIZIO
Per loop_variable in (Seleziona colonna1, colonna2, ..
Dalla Tabella 1, Tabella 2, ..
Dove condizione) Loop
-- Azione del loop
End Loop;
FINE;

Esempio di loop in Oracle

I seguenti esempi coprono le basi del lavoro con per, mentre per i loop del cursore in Oracle.

Oracle per l'esempio di loop:

Questo esempio dimostra come utilizzare un ciclo "per" per stampare i numeri da 1 a 10.

INIZIO
Per io in 1… 10 loop
Dbms_output.Put_line (i);
End Loop;
FINE;

Mentre l'esempio di loop:

Possiamo eseguire un'azione simile usando un ciclo while come mostrato nel seguente:

INIZIO
DICHIARARE
Numero i: = 1;
INIZIO
Mentre io <= 10 LOOP
Dbms_output.Put_line (i);
i: = i + 1;
End Loop;
FINE;
FINE;

Questo dovrebbe eseguire un'azione simile al ciclo "per".

Cursore per esempio di loop:

Di seguito mostra come utilizzare il ciclo "cursore per" per ottenere il nome completo di un cliente:

INIZIO
Per il dipendente in (seleziona first_name, last_name
Dai dipendenti) Loop
Dbms_output.Put_line (dipendente.first_name || "|| dipendente.cognome);
End Loop;
FINE;

Esempio di output:

Conclusione

In questo post, hai incontrato tre tipi principali di loop in Oracle PL/SQL. Puoi controllare la documentazione per esplorare ulteriormente.