Oracle
 sql >> Database >  >> RDS >> Oracle

Passa il controllo a una riga specifica utilizzando il comando Goto Label in PLSQL

Di seguito viene fornito un esempio per PLSQL Goto Label comando per indicare al controllo di andare a un numero di riga specifico in alcune condizioni. Supponiamo di voler passare il controllo a qualsiasi riga particolare in caso di eccezione quando si verifica no_data_found, per ottenere ciò devi assegnare un'etichetta usando <> a quella riga specifica per puntarlo al momento del requisito. Di seguito è riportato un blocco PL/SQL anonimo che dimostra questo scenario utilizzando <> con l'istruzione GoTo Label:SET SERVEROUTPUT ON;DECLARE v NUMBER;BEGIN BEGIN SELECT 1 INTO v FROM DUAL DOVE manichino ='V'; -- cambia dummy ='X' per saltare la sezione dell'eccezione ECCEZIONE QUANDO NO_DATA_FOUND THEN DBMS_OUTPUT.put_line ('NO_Data_Found si è verificato.'); VAI a mia etichetta; FINE; -- il codice sottostante prima di <> non verrebbe eseguito se si verificasse un errore sopra -- perché nella sezione di eccezione sopra, sta inviando il controllo direttamente all'etichetta <> -- ma se non si è verificato alcun errore sopra, l'intero il programma verrebbe eseguito v :=v + 1; DBMS_OUTPUT.put_line ('Il valore della variabile v è '||v); <> DBMS_OUTPUT.put_line ("Dopo l'inizio dell'elaborazione dell'etichetta.');-- esegui alcune attività quiEND;/