Tratamiento de Errores2

6
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS Lab. Administración de Base de Datos 1 Prof. Elvira Fernández (IS-443) MANEJO DE EXCEPCIONES EN PL/SQL I. OBJETIVOS Controlar adecuadamente, la ocurrencia de errores en la ejecución de programas PL/SQL a través del uso de excepciones. Identificar los diferentes tipos de excepciones. Definir excepciones para anticiparse a los errores que puedan surgir durante la ejecución de un programa PL/SQL. II. MARCO TEÓRICO QUE ES UNA EXCEPCION Los errores en la ejecución de código PL/SQL, provenientes de fallos en el diseño, errores de codificación, fallos de hardware y otros, no son totalmente identificables, de ahí que sea necesario anticipar todos los posibles errores que se puedan presentar. Como muchos otros lenguajes de programación, PL/SQL tiene su propio método de manipulación de errores a través de una característica llamada EXCEPCION. Las excepciones pueden ser definidas internamente o definidas por el usuario. Cuando un error ocurre, una excepción se dispara, ya sea que esté o no controlada en el código. Si es controlada en el código, se ejecutarán las sentencias bajo el mismo control, sino se detendrá la ejecución. DECLARACIÓN DE EXCEPCIONES Las excepciones se declaran en la sección declarativa de un bloque, se generan en la sección ejecutable y se tratan en la sección de excepciones. Existen dos clases de excepciones: definidas por el usuario y predefinidas. EXCEPCIONES PREDEFINIDAS

description

Tratamiento de errores

Transcript of Tratamiento de Errores2

  • UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL

    ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

    Lab. Administracin de Base de Datos 1 Prof. Elvira Fernndez (IS-443)

    MANEJO DE EXCEPCIONES EN PL/SQL

    I. OBJETIVOS

    Controlar adecuadamente, la ocurrencia de errores en la ejecucin de programas PL/SQL a travs del uso de excepciones.

    Identificar los diferentes tipos de excepciones.

    Definir excepciones para anticiparse a los errores que puedan

    surgir durante la ejecucin de un programa PL/SQL.

    II. MARCO TERICO

    QUE ES UNA EXCEPCION Los errores en la ejecucin de cdigo PL/SQL, provenientes de fallos en el diseo, errores de codificacin, fallos de hardware y otros, no son

    totalmente identificables, de ah que sea necesario anticipar todos los posibles errores que se puedan presentar.

    Como muchos otros lenguajes de programacin, PL/SQL tiene su propio mtodo de manipulacin de errores a travs de una caracterstica

    llamada EXCEPCION. Las excepciones pueden ser definidas internamente o definidas por el

    usuario. Cuando un error ocurre, una excepcin se dispara, ya sea que est o no controlada en el cdigo. Si es controlada en el cdigo, se

    ejecutarn las sentencias bajo el mismo control, sino se detendr la ejecucin.

    DECLARACIN DE EXCEPCIONES Las excepciones se declaran en la seccin declarativa de un bloque, se

    generan en la seccin ejecutable y se tratan en la seccin de excepciones. Existen dos clases de excepciones: definidas por el usuario y predefinidas.

    EXCEPCIONES PREDEFINIDAS

  • UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL

    ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

    Lab. Administracin de Base de Datos 2 Prof. Elvira Fernndez (IS-443)

    DUP_VAL_ON_INDEX Su programa trata de almacenar valores duplicados en una

    columna de base de datos que debe ser nica OTHERS Se utiliza para controlar excepciones no establecidas.

    EXCEPCIONES DEFINIDAS POR EL USUARIO PL/SQL permite al usuario declarar sus propias excepciones con el fin

    de dar un mejor manejo a la ejecucin de un bloque.

    TRATAMIENTO DE ERRORES

    Cuando se genera una excepcion, el control pasa a la seccin de excepciones del bloque. Esta seccin est compuesta por gestores para

    las diferentes excepciones. Un gestor de excepciones contiene el cdigo que se ejecutar cuando ocurra el error asociado con la excepcin y sta sea generada.

    DECLARE

    A EXCEPCION; -- Declaracin de la excepcin A BEGIN

    . RAISE A; -- Generacin de la excepcin A (nombre de la excepcion)

    --------Cualquier cdigo aqu no se ejecuta

    EXCEPTION

    WHEN A THEN el control pasa al gestor de excepciones ---------secuencia de instrucciones

    ----------Este cdigo ser ejecutado.

    [WHEN OTHERS THEN

    --------- secuencia de instrucciones

    --------Este cdigo ser ejecutado]

    END;

    Cada gestor de excepciones est formado por la clausula WHEN y las rdenes que se ejecutarn cuando la excepcion sea generada. La clusula WHEN identifica la excepcin correspondiente a cada gestor.

  • UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL

    ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

    Lab. Administracin de Base de Datos 3 Prof. Elvira Fernndez (IS-443)

    Dentro de los procedimientos tambin se pueden controlar las

    excepciones que pueden ocurrir durante su ejecucin agregando el bloque de Excepcion en su sintaxis de creacin:

    Create procedure nombre (definicion de parametros)

    As Definicin de variables

    BEGIN Instrucciones SQL EXCEPTION

    Control de excepciones END;

    III. DESARROLLO

    Ejemplo01: DESARROLLAR UN PROCEDIMIENTO ALMACENADO, PARA

    MOSTRAR LA CANTIDAD DE EMPLEADOS POR COD_OCUPACION, MANEJE LAS EXCEPCIONES NECESARIAS.

    EJECUTANDO EL PROCEDIMIENTO 1)

    begin

    CANT_EMPLExCOD_OCUPACION('SA_MAN'); end;

    salida:

  • UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL

    ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

    Lab. Administracin de Base de Datos 4 Prof. Elvira Fernndez (IS-443)

    2)

    begin

    CANT_EMPLExCOD_OCUPACION('SAA_MAN'); end;

    AL EJECUTAR EL 2DO PROCEDIMIENTO OBSERVAMOS EL

    SIGUIENTE MENSAJE DE EEROR

    MANEJANDO EXCEPCIONES

    Resultado:

  • UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL

    ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

    Lab. Administracin de Base de Datos 5 Prof. Elvira Fernndez (IS-443)

    EJEMPLO 02.

    ACTUALICE EL SUELDO EN X VALOR A LOS EMPLEADOS QUE GANAN MS DE DE Y VALOR, GENERAR UNA EXCEPCION DE

    USUARIO.

    Ejecutando procedimiento

    BEGIN

    AUMENTO_SUELDO(20,16000); END;

    PRACTICA CALIFICADA

    1) DEL EJEMPLO01, MEJORAR EL PROCEDIMIENTO

    ALMACENADO PARA INGRESAR EL NOMBRE DE LA OCUPACION Y MOSTRAR LA CANTIDAD DE EMPLEADOS POR

    OCUPACION. MANEJE LAS EXCEPCIONES NECESARIAS

    2) DESARROLLE UN PROCEDIMIENTO ALMACENADO, PARA

    MOSTRAR A LOS EMPLEADOS(NOMBRE Y APELLIDO), NOMBRE DE LA OCUPACION, NOMBRE DEL

  • UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL

    ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

    Lab. Administracin de Base de Datos 6 Prof. Elvira Fernndez (IS-443)

    DEPARTAMENTO, POR DEPARTAMENTO AL QUE

    PERTENECEN. MANEJE LAS EXCEPCIONES NECESARIAS

    3) CREE UN PROCEDIMIENTO ALMACENADO QUE PERMITA

    INGRESAR UN EMPLEADO. MANEJAR EL ERROR SI YA EXISTE EL EMPLEADO EN LA TABLA.MOSTRAR RESULTADO DEL ERROR GENERADO.

    4) DESARROLLAR UN PROCEDIMIENTO ALMACENADO, QUE

    PERMITA MOSTRAR LOS AOS DE CONTRATA QUE TIENE CADA EMPLEADO, BUSCAR POR NOMBRE DEL EMPLEADO. MANEJE LAS EXCEPCIONES NECESARIAS.

    5) DESARROLLAR UN PROCEDIMIENTO ALMACENADO, PARA ACTUALIZAR LA COMISIN DEL EMPLEADO, SI EL SALARIO QUE PERCIBE ES SUPERIOR A 1000 Y MENOR A 2000,

    INCREMENTAR EN 100 SOLES, Y GENERAR UNA EXCEPCION DE USUARIO.