Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PL-SQL
TRABAJO:
DOCENTE:
ALUMNOS:
GRADO Y GRUPO:
8 “A”
Índice
Introducción................................................................................................................1
Objetivo General.........................................................................................................2
Objetivos específicos...................................................................................................2
Metodologías...............................................................................................................2
Excepciones.................................................................................................................3
Tipos de excepciones..................................................................................................5
Conclusión.................................................................................................................10
Bibliografía...............................................................................................................11
Introducción.
bloque EXCEPTION, transfiriéndose el control a las sentencias del bloque. Una vez finalizada la
Las excepciones pueden ser definidas en forma interna o explícitamente por el
usuario. Ejemplos de excepciones definidas en forma interna son la división por cero y la
ellos: ZERO_DIVIDE y STORAGE_ERROR.
utilizando la sentencia RAISE.
Con las excepciones se pueden manejar los errores cómodamente sin necesidad
de mantener múltiples chequeos por cada sentencia escrita. También provee claridad en el
1
Objetivo General.
Objetivos específicos.
Metodologías.
2
Excepciones
errores producidos en la ejecución de las sentencias SQL por parte del sistema de gestión
especifico, cuyo control es enteramente gestionado por él. En este apartado solamente se
siguiente sintaxis:
Declaración_excepción
: : = nombre_excepción EXCEPTION;
Las excepciones no son variables, sino que su utilización debe realizarse mediante
funciones y procedimientos.
suspenda la ejecución de los programas cuando estos se presentan. Un error muy común y
casi todos los casos, si se está ejecutando un programa y se intenta dividir un valor entre
3
EXCEPCIONES que permite continuar la ejecución de un programa, aunque se haya
presentado un error.
un error el control le será transferido a la rutina manejadora de errores para que se ejecute
una vez terminado el paso de manejo de errores en la mayoría de los casos finaliza.
SINTAXIS:
DECLARE BEGIN
Instrucciones
Instrucciones
END;
4
Tipos de excepciones
5
EXISTS a una colección
(Nested Table,
VARRAY) no
inicializada.
CURSOR_ALREADY_OPEN ORA-06511 Intento de abrir un
Cursor ya abierto.
DUP_VAL_ON_INDEX ORA-00001 Intento de insertar un
valor duplicado.
INVALID_CURSOR ORA-01001 Se produjo una operación
inválida con un Cursor.
INVALID_NUMBER ORA-01722 Conversión de carácter a
número fallida.
LOGIN_DENIED ORA-01017 Intento de iniciar sesión
en el servidor de Oracle
con un nombre de
usuario o contraseña no
válidos.
NO_DATA_FOUND ORA-01403 Sentencia SELECT no
retorna datos.
NOT_LOGGED_ON ORA-01012 El programa PL/SQL
emite una llamada de
Base de Datos sin estar
conectado al servidor de
Oracle.
PROGRAM_ERROR ORA-06501 PL/SQL tiene un
problema interno.
ROWTYPE_MISMATCH ORA-06504 La variable host cursor y
la variable PL/SQL
envueltas en una
asignación tienen tipos
incompatibles.
STORAGE_ERROR ORA-06500 PL/SQL sin memoria o la
memoria está dañada.
SUBSCRIPT_BEYOND_COUNT ORA-06533 Referencia a un elemento
de un Nested Table o
VARRAY mediante el
uso de un índice mayor
que el número de
elementos de la
colección.
SUBSCRIPT_OUTSIDE_LIMIT ORA-06532 Referencia a un elemento
de un Nested Table o
VARRAY mediante el
uso de un índice que está
fuera del rango legal
SYS_INVALID_ROWID ORA-01410 La conversión de una
6
cadena de caracteres a
ROWID universal falla
porque la cadena de
caracteres no representa
un ROWID válido.
TIMEOUT_ON_RESOURCE ORA-00051 Se Agotó el tiempo de
espera (Time-Out)
mientras el Servidor
Oracle esperaba por un
recurso.
TOO_MANY_ROWS ORA-01422 Sentencia SELECT
retorna más de una fila.
VALUE_ERROR ORA-06502 Se produjo un error:
aritmético, de
conversión, de
truncamiento o de
restricción de tamaño.
ZERO_DIVIDE ORA-01476 Se ha intentado dividir
por cero.
7
Conclusión
para tratar errores en tiempo de ejecución. En el sistema que nos ocupa, Oracle, sirven
también para definir qué se debe hacer frente a errores en sentencias definidas por el
usuario. Cuando se produce un error PL/SQL levanta una excepción y pasa el control a la
programa, que puede ser capturada para asignar un nuevo comportamiento. Una excepción
puede ser un error de ejecución (una división entre 0) o cualquier otro tipo de suceso.
una variable se tratase, una vez que la excepción está definida, ésta debe ser lanzada, ya sea
automáticamente por Oracle (cuando se produce un error controlado por Oracle), o lanzada
8
Bibliografía
COL.LECCIÓ.
https://magicplsql.blogspot.com/2016/10/manejo-de-excepciones.html