In questo articolo, imparerai una delle procedure di gestione degli errori nel database Oracle chiamato Heave_Application_error.
Procedura Oracle Heave_Application_error
Raccenda_application_error in Oracle è una procedura memorizzata che consente di raccogliere i messaggi di errore definiti dall'utente.
Quando si lavora con il database Oracle, potresti aver incontrato un messaggio di errore come quello nel seguente:
[42000] [904] ORA-00904: "HI": identificatore non valido
Questo tipo di errore è noto come errore del motore del database. È definito nel database Oracle e sollevato quando si verifica un determinato errore.
Utilizzando la procedura di Heave_Application_error, Oracle ci consente di definire i nostri messaggi personalizzati con un codice di errore e un messaggio specifici.
Questo può essere molto utile quando si verifica un errore specifico e si desidera avvisare l'utente con un messaggio di errore descrittivo. Ciò significa che non avrai mandato le eccezioni di errore senza alcuna affermazione su ciò che è accaduto.
Sintassi e parametri della procedura
Il seguente snippet di codice stabilisce la sintassi della procedura di allevamento_application_error:
rallenta_application_error (
errore_number,
Messaggio,
[Vero | False]
);
La procedura comprende tre parametri principali:
Nota: preservare lo stack di errore significa che l'errore viene aggiunto alla serie di errori precedenti. Se lo stack non è preservato, il nuovo messaggio di errore sostituisce tutti gli errori precedenti.
Di seguito sono riportati alcuni punti essenziali da notare per la procedura di alza_application_error:
ESEMPIO RIECO_APPLICATION_ERROR UTILIZZO PROCEDURA
In questo esempio, dimostreremo come utilizzare la procedura di alzati_application_error usando lo schema HR.
https: // docs.oracolo.com/cd/b13789_01/server.101/B10771/Scripts003.htm
Prendi in considerazione il seguente codice sorgente fornito:
creare o sostituire la procedura check_commission (
numero EMP_ID
)
È
dipendenti fname.Tipo first_name%;
dipendenti EM.Email%Tipo;
impiegati di sal.Stipendio%tipo;
Commissione dipendenti.Tipo Commission_PCT%;
inizio
Seleziona First_name, e -mail, stipendio, Commission_PCT
in fname, em, sal, commissione
dai dipendenti
dove dipendente_id = emp_id;
Se la commissione è null, allora
rasa_application_error (-20002, "percentuale di commissioni null incontrata!!'|| emp_id);
finisci se;
eccezione
Quando altri allora
Dbms_output.Put_line ('sqlcode:' || sqlcode);
Dbms_output.Put_line ('sqlerrm:' || sqlerrm);
FINE;
L'esempio precedente inizia creando una procedura che accetta un ID dipendente. Usiamo quindi il dipendente per selezionare i valori dai dipendenti. Infine, utilizziamo un'istruzione if per verificare se la commissione della riga ricevuta è null. Se è vero, solleviamo un'eccezione.
Possiamo chiamare la procedura con l'ID impiegato di destinazione:
chiamare check_commission (100);
Produzione:
SQLCODE -438
SQlerrm: SQL0438N APPLICAZIONE ERRORE o AVVERTENZA con testo diagnostico: "Percentuale della Commissione nulla incontrata:. Sqlstate = UD030
Conclusione
In questo tutorial, hai imparato a utilizzare la procedura memorizzata da Raccenda_Application_error per raccogliere i messaggi di errore personalizzati.