Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIÓN
(continuación)
Lic Cristian Mercado Quispe
Base de Datos II
CASE SELECTOR
WHEN EXPRESION1 THEN OPERACIÓN1;
WHEN EXPRESION2 THEN OPERACIÓN2;
……
ELSE OPERACIÓNN
END CASE;
CASE
WHEN CONDICIÓN1 THEN OPERACIÓN1;
WHEN CONDICIÓN2 THEN OPERACIÓN2;
……
ELSE OPERACIÓNN
END CASE;
LOOP
INSTRUCCIONES
IF(EXPRESIÓN) THEN
INSTRUCCIONES
EXIT;
END IF;
END LOOP;
DECLARE
n INT := &var_sus;
cont int:=1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE(cont);
cont:= cont +1;
IF cont>n THEN
EXIT;
END IF;
END LOOP;
END;
Lic. Cristian Mercado Quispe - UPEA
DECLARE
n INT := &var_sus;
cont int:=1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE(cont);
cont:= cont +1;
EXIT WHEN cont>n;
END LOOP;
END;
Lic. Cristian Mercado Quispe - UPEA
Manejos de Estructuras de control
WHILE se repite mientras se cumpla la
expresión
Cursores Explícitos
Son los cursores que son declarados y controlados
por el programador. Se utilizan cuando la consulta
devuelve un conjunto de registros.
Lic. Cristian Mercado Quispe - UPEA
Cursor Implícito
DECLARE
NOMBRE employees.first_name%type;
APELLIDO employees.last_name%type;
ID_EMP employees.employee_id%type := &id_empleado ;
BEGIN
SELECT first_name, last_name INTO NOMBRE, APELLIDO
FROM employees
WHERE employee_id = ID_EMP;
DBMS_OUTPUT.PUT_LINE('NOMBRE: ' || NOMBRE ||
'APELLIDO: ' || APELLIDO);
END;
%ROWCOUNT
Número de registros recuperados dependiendo
del momento en que se encuentre.(Recuperando
registros o al finalizar la recuperación).
Lic. Cristian Mercado Quispe - UPEA
Propiedades de los cursores
%FOUND
Una propiedad del cursor que devuelve TRUE durante
la recuperación de registros y FALSE al finalizar la
recuperación.
%ISOPEN
Propiedad del cursor que devuelve FALSE antes de
abrir el cursor, devuelve TRUE al abrir y recuperar
datos del cursor y devuelve FALSE después de cerrar
el cursor.
Lic. Cristian Mercado Quispe - UPEA
Ejemplo de cursores
Utilizar un cursor para mostrar el nombre y
apellido de todos los empleados
Id_producto nombre
1 Producto1
2 Producto2
3 Producto3
4 Producto4
… ….
10000 producto10000
Excepción Explicación
NO_DATA_FOUND Se produce cuando una sentencia SELECT no
devuelve filas
TOO_MANY_ROWS Dado que cada cursor implícito sólo puede
recuperar una fila, esta excepción detecta la
existencia de más de una fila