Istruzione PL / SQL - EXIT

Il EXIT L'istruzione nel linguaggio di programmazione PL / SQL ha i seguenti due utilizzi:

  • Quando l'istruzione EXIT viene rilevata all'interno di un ciclo, il ciclo viene immediatamente terminato e il controllo del programma riprende dall'istruzione successiva che segue il ciclo.

  • Se stai usando cicli annidati (cioè un ciclo dentro un altro ciclo), l'istruzione EXIT interromperà l'esecuzione del ciclo più interno e inizierà a eseguire la riga di codice successiva dopo il blocco.

Sintassi

La sintassi per un'istruzione EXIT in PL / SQL è la seguente:

EXIT;

Diagramma di flusso

Esempio

DECLARE 
   a number(2) := 10; 
BEGIN 
   -- while loop execution  
   WHILE a < 20 LOOP 
      dbms_output.put_line ('value of a: ' || a); 
      a := a + 1; 
      IF a > 15 THEN 
         -- terminate the loop using the exit statement 
         EXIT; 
      END IF; 
   END LOOP; 
END; 
/

Quando il codice precedente viene eseguito al prompt SQL, produce il seguente risultato:

value of a: 10 
value of a: 11 
value of a: 12 
value of a: 13 
value of a: 14 
value of a: 15  

PL/SQL procedure successfully completed.

L'istruzione EXIT WHEN

Il EXIT-WHENconsente di valutare la condizione nella clausola WHEN. Se la condizione è vera, il ciclo viene completato e il controllo passa all'istruzione immediatamente dopo END LOOP.

Di seguito sono riportati i due aspetti importanti per l'istruzione EXIT WHEN:

  • Fino a quando la condizione non è vera, l'istruzione EXIT-WHEN agisce come un'istruzione NULL, ad eccezione della valutazione della condizione, e non termina il ciclo.

  • Un'istruzione all'interno del ciclo deve modificare il valore della condizione.

Sintassi

La sintassi per un'istruzione EXIT WHEN in PL / SQL è la seguente:

EXIT WHEN condition;

L'istruzione EXIT WHEN replaces a conditional statement like if-then utilizzato con l'istruzione EXIT.

Esempio

DECLARE 
   a number(2) := 10; 
BEGIN 
   -- while loop execution  
   WHILE a < 20 LOOP 
      dbms_output.put_line ('value of a: ' || a);  
      a := a + 1; 
      -- terminate the loop using the exit when statement 
   EXIT WHEN a > 15; 
   END LOOP; 
END;   
/

Quando il codice precedente viene eseguito al prompt SQL, produce il seguente risultato:

value of a: 10 
value of a: 11 
value of a: 12 
value of a: 13 
value of a: 14 
value of a: 15  

PL/SQL procedure successfully completed.