CURSORES EN PL/SQL
Ejemplo
Declarar el cursor
Ejemplo
Abrir el cursor
Leer los datos del cursor
Lo procesamos con un loop.
Ejemplo
Cerrar el cursor
Ejemplo
/
Declaración y utilización de cursores de actualización
Ejemplo
CURSOR nombre cursor 1S instrucción
SELECT FOR UPDATE
Para actualizar los datos del cursor hay que ejecutar una sentencia UPDATE especificando la cláusula WHERE CURRENT OF .
UPDATE emp SET
EMP.DEPTNO=DEPT.DEPTNO and ENAME LIKE '%A%'
WHERE CURRENT OF c1
MANEJO DE ERRORES EN PUSQL
En PllSQL una advertencia o error es considera una excepción. Las excepciones se controlan dentro de su propio bloque.
DECLARE
- - Declaraciones BEGIN
-- Ejecucion EXCEPTION
-- Excepción END;
Cuando ocurre un error, se ejecuta la porción del programa marcada por el bloque EXCEPTION.
Ejemplo
Provocar y atrapar un error del tipo INVALID CURSOR, y sacar en la pantalla el siguiente mensaje (con DBMS OUTPUT) "CURSOR NO VÁLIDO”.
- PUSQL proporciona un gran número de excepciones predefinidas que permiten controlar las condiciones de error más habituales.
- Las excepciones predefinidas no necesitan ser declaradas.
- PUSQL permite al usuario definir sus propias excepciones, utilizando la sentencia RAISE.
- La sentencia RAlSE permite lanzar una excepción en forma explícita.
Desplegar nombre del empleado y el nombre del departamento para todos aquellos empleados que tengan una A en su nombre y que además trabajen en el departamento RESEARCH. Usar REGISTROS PL/SQL ( a lo más 1 registro) con atributo %ROWTYPE
Crear un cursor con nombre CI para obtener nombre, ocupación y de contratación de todos los empleados que fueron contratados entre 20 de febrero de 1981 y I de mayo de 1981. Sacar los datos del cursor usando un ciclo básico. Para la condición de salida del ciclo utilizar los atributos del cursor explícito. Con un IF 'verificar si el cursor está abierto, si es así cerrarlo. Imprimir los datos en pantalla con el paquete DBMS OUTPUT
Ejemplo
Provocar y atrapar un error del tipo ZERO DIVIDE, y sacar en la pantalla el siguiente .mensaje (con DBMS OUTPUT) "NO SE PUEDE DIVIDIR ENTRE CERO".
No hay comentarios:
Publicar un comentario