EXES
EL MODELO RELACIONAL
EL LENGUAJE SQL
FUNCIONES SQL
FUNCIONES DE GRUPO
JOIN
SUBCONSULTAS
D.M.L.
D.D.L.
VISTAS
ENTORNO SQL PLUS
PL/SQL
GENERALIDADES PL/SQL
CURSORES
EXCEPCIONES
FUNCIONES
CRÉDITOS
LA COMPAÑÍA
 
Área de Base de datos
  Manual de Iniciación a Oracle
www.exes.es
Tel: 902 360 417
   Principal
 Exes   Contactar 
Tema 14 Excepciones | Manual de Iniciación a Oracle

TEMA 14
EXCEPCIONES

PL/SQL
Concepto de Excepción

  • ¿Qué es una excepción? Es un identificador de PL/SQL que surge durante la ejecución.
  • ¿Cómo surge? Se produce por un error Oracle o bien puede ser provocada explícitamente.
  • ¿Cómo se gestiona? Interrumpiéndola con un manejador de excepciones o propagándola al entorno de llamadas.

PL/SQL
Interrupción de Excepciones

  • Sintaxis:
Sintaxis de interrupción de excepciones

PL/SQL
Excepciones de Oracle8

Excepciones de Oracle8

PL/SQL
Excepciones de Oracle8

Excepciones de Oracle8

PL/SQL
Excepciones de Usuario

  • Se declaran en la sección declarativa DECLARE.
  • Se provocan explícitamente en la sección ejecutable utilizando la sentencia RAISE.
  • Se gestiona la excepción dentro del bloque de excepciones EXCEPTION.

PL/SQL
Excepciones de Usuario

  • Ejemplo:
Ejemplo de excepciones de usuario

PL/SQL
Funciones para Identificar Excepciones

  • SQLCODE Devuelve el valor numérico del código de error SQL. No se puede referenciar directamente, hay que asignarlo a una variable PL/SQL de tipo NUMBER.
Función SQLCODE
  • SQLERRM Devuelve el mensaje asociado con el número de error. Tipo VARCHAR2.

PL/SQL
RAISE_APPLICATION_ERROR

  • Sintaxis:
Sintaxis de RAISE_APPLICATION_ERROR
  • Utilice el procedimiento RAISE_APPLICATION_ERROR para comunicar de forma interactiva una excepción predefinida, devolviendo un código y un mensaje de error no estándar.

PL/SQL
RAISE_APPLICATION_ERROR

  • Se utiliza en dos lugares distintos:
    • SECCIÓN EJECUTABLE
    • SECCIÓN DE EXCEPCIONES
  • Ejemplos:
Ejemplos de RAISE_APPLICATION_ERROR

SQL Ejercicios
Ejercicios Excepciones

Ejercicios
  • Para un número de empleado dado (por medio de comandos SQL*Plus), incrementarle el salario en un 10%. Controlar dos excepciones predefinidas de ORACLE, NO_DATA_FOUND y TOO_MANY_ROWS.
  • Por medio de comandos SQL*Plus, aceptar tres valores que correspondan al número, nombre y localidad de un departamento.
    Realizar un bloque PL/SQL 9i que inserte en la tabla DEPT los valores aceptados. Controlar los siguientes errores:
    • Si el departamento ya existe, insertar en la tabla TEMP un error.
    • Si algún dato de los insertados es de mayor longitud que la especificada en la tabla, insertar un error en la tabla TEMP.
    • Si se producen otros errores, insertar en la tabla TEMP el número y el mensaje del error producido.
      Nota: El error ORACLE de longitud del dato fuera del rango es el –1438
··> Ver todos los cursos
··> Si necesitas más información, contáctanos aquí
 
 
 
Sello de Calidad   Sello de Calidad
  EXES - C/ Albasanz, 14 Bis, 1-C. 28037 Madrid - Tel: 902 360 417 Fax: 902 931 305 - exes@exes.es