CURSORES PLSQL
Existen dos tipos de cursores en PL/SQL:
1. Cursores Implícitos
Oracle crea automáticamente un cursor implícito cada vez que se ejecuta una
sentencia DML (INSERT, UPDATE, DELETE) o una consulta SELECT INTO que
devuelve una sola fila.
Ejemplo:
2. Cursores Explícitos
Se definen por el programador cuando se espera que una consulta devuelva más de
una fila y se desea procesar cada fila individualmente.
Sintaxis:
Atributos útiles de cursores
• cursor_nombre%FOUND: Verdadero si el FETCH encontró una fila.
• cursor_nombre%NOTFOUND: Verdadero si no se encontró fila.
• cursor_nombre%ROWCOUNT: Número de filas recuperadas hasta ahora.
• cursor_nombre%ISOPEN: Verdadero si el cursor está abierto.
Cursores con Parámetros
Puedes pasar parámetros al cursor como si fuera una función.
Ejemplo:
Cursores FOR (implícitos)
Una forma más simple y segura de trabajar con cursores, sin necesidad de abrir,
cerrar ni hacer FETCH manualmente.
TALLER PRACTICO
Descripción general
Esta práctica abarca los siguientes temas:
• Determinación de la salida de un bloque PL/SQL
• Mejora del rendimiento de un bloque PL/SQL
• Implementación de subtipos
• Uso de variables de cursor
Utilice la conexión OE para completar esta práctica.
Actividad:
Se tienen las siguientes tablas:
EJERCICIO 1: Cursor Explícito (BÁSICO)
Mostrar el ID y nombre de todos los empleados.
EJERCICIO 2: Cursor con Parámetro (INTERMEDIO)
Mostrar empleados de un departamento específico.
EJERCICIO 3: Cursor FOR
Incrementar en 10% el salario de todos los empleados del departamento 20 y
mostrar el nuevo valor.
EJERCICIO 4: Cursor con múltiples parámetros.
Mostrar empleados que pertenecen a un departamento y ganan más de cierto
salario.
EJERCICIO 5: Cursor anidado (subcursor)
Por cada departamento, listar sus empleados.
EJERCICIO 6: Cursor + Manejo de Excepciones
Mostrar los empleados y manejar el caso en que el cursor no devuelva datos.
EJERCICIO 7: Cursor que actualiza registros
Aumentar 15% el salario de empleados que ganan menos de 2200 y mostrar el
cambio.