Cómo controlar las excepciones de sql

Al tratar de determinar el origen de un error SQL y SQLSTATE indica una condición de excepción mediante la celebración de un valor distinto de 00000, 00001, o 00002, es posible que desee para manejar la situación en una de las siguientes maneras:

  • Devolver el control al procedimiento principal que llama el subprocedimiento que produce la excepción.

    Video: (UACh) PL/SQL parte 4: errores y excepciones (1/2)

  • Usar una CUANDO cláusula en rama a una rutina de control de excepciones o realizar alguna otra acción.

  • Controlar la excepción sobre el terreno con una compuesto instrucción SQL. Una sentencia de SQL compuesto consiste en una o más sentencias SQL simples, intercaladas entre EMPEZAR y FIN palabras clave.

El siguiente es un ejemplo de un gestor de excepciones compuesto-declaración:

Video: T-SQL | Try Catch | SQL Server # 39

BEGINDECLARE ValueOutOfRange EXCEPCIÓN PARA SQLSTATE`73003` -INSERT en los alimentos (calorías) VALORES (: cal) -signal ValueOutOfRange -Mensaje `Proceso de una nueva calorías value.`EXCEPTIONWHEN ValueOutOfRange THENMESSAGE `Manipulación del error rango de calorías` -cuando OTROS THENRESIGNAL -END

Con uno o más DECLARAR declaraciones, que pueden dar nombres a específica SQLSTATE Los valores que sospecha que pueden surgir. los INSERTAR declaración es la que podría provocar una excepción que se produzca. Si el valor de :California supera el valor máximo para una SMALLINT elemento de datos, SQLSTATE se establece en “73003”. los SEÑAL declaración señala una condición de excepción. Se despeja el área de diagnóstico superior.

Se establece el RETURNED_SQLSTATE campo del área de diagnóstico a la SQLSTATE para la excepción nombrada. Si se ha producido no es una excepción, la serie de declaraciones representado por el MENSAJE ‘Proceso de un nuevo valor de calorías’ se ejecuta comunicado. Sin embargo, si se ha producido una excepción, se salta esa serie de declaraciones, y la EXCEPCIÓN se ejecuta comunicado.

Si la excepción era una ValueOutOfRange excepción, a continuación, una serie de declaraciones representados por la MENSAJE ‘Manipulación del error rango de calorías’ se ejecuta comunicado. los RESIGNAL sentencia se ejecuta si la excepción no es una ValueOutOfRange excepción.

RESIGNAL simplemente pasa el control de la ejecución del procedimiento de padres llamando. Este procedimiento puede tener código de error de manipulación adicional para hacer frente a más excepciones que el error esperado de valor fuera de rango.

Artículos Relacionados