En este artículo, aprenderá sobre uno de los procedimientos de manejo de errores en la base de datos de Oracle llamado Raise_Application_Error.
Oracle Raise_Application_Error Procedimiento
El Rais_Application_Error en Oracle es un procedimiento almacenado que le permite elevar los mensajes de error definidos por el usuario.
Al trabajar con la base de datos Oracle, es posible que haya encontrado un mensaje de error como el siguiente:
[42000] [904] ORA-00904: "Hola": Identificador no válido
Este tipo de error se conoce como error de motor de base de datos. Se define en la base de datos de Oracle y se plantea cuando ocurre un error dado.
Usando el procedimiento Rais_Application_Error, Oracle nos permite definir nuestros mensajes personalizados con un código de error y mensaje específicos.
Esto puede ser muy útil cuando ocurre un error específico y desea alertar al usuario con un mensaje de error descriptivo. Esto significa que no habrá desanimado las excepciones de error sin ninguna declaración sobre lo que sucedió.
Sintaxis del procedimiento y parámetros
El siguiente fragmento de código establece la sintaxis del procedimiento Raise_Application_Error:
Raise_Application_Error (
numero erroneo,
mensaje,
[Verdadero | FALSO]
);
El procedimiento se compone de tres parámetros principales:
Nota: Preservar la pila de errores significa que el error se agrega a la serie de errores anteriores. Si la pila no se conserva, el nuevo mensaje de error reemplaza todos los errores anteriores.
Los siguientes son algunos puntos esenciales a tener en cuenta para el procedimiento Rais_Application_Error:
Ejemplo Raise_Application_Error Uso del procedimiento almacenado
En este ejemplo, vamos a demostrar cómo usar el procedimiento Raise_Application_Error utilizando el esquema de recursos humanos.
https: // documentos.oráculo.com/cd/b13789_01/servidor.101/b10771/scripts003.htm
Considere el siguiente código fuente proporcionado:
crear o reemplazar el procedimiento check_commission (
número emp_id
)
es
empleados de fname.First_Name%type;
Em empleados.Tipo de%de correo electrónico;
empleados de sal.Tipo de%salario;
empleados de comisión.Comision_pct%type;
comenzar
Seleccione First_Name, correo electrónico, salario, comision_pct
en fname, em, sal, comisión
de empleados
donde empleado_id = emp_id;
Si la comisión es nula entonces
Rais_application_error (-20002, 'porcentaje de comisión nulo encontrado!!'|| emp_id);
terminara si;
excepción
Cuando otros entonces
Dbms_output.Put_line ('sqlcode:' || sqlcode);
Dbms_output.Put_line ('sqlerrm:' || sqlerrm);
fin;
El ejemplo anterior comienza creando un procedimiento que acepta una identificación de empleado. Luego usamos el empleado para seleccionar los valores de los empleados. Finalmente, usamos una declaración IF para verificar si la comisión de la fila recibida es nula. Si es cierto, planteamos una excepción.
Podemos llamar al procedimiento con la identificación objetivo de empleo:
Llame a check_commission (100);
Producción:
Sqlcode -438
SQLERRM: SQL0438N Aplicación planteada por error o advertencia con texto de diagnóstico: "Porcentaje de comisión nula encontrado:. Sqlstate = UD030
Conclusión
En este tutorial, aprendió cómo usar el procedimiento almacenado Raise_Application_Error para elevar los mensajes de error personalizados.