Cursores Maikol Nieto
Cursores Maikol Nieto
Cursores Maikol Nieto
BEGIN
DBMS_OUTPUT.PUT_LINE('Eliminando producto con ID 30100211...');
Eliminar_Producto(30100211);
END;
/
PUNTO DOS.
SET SERVEROUTPUT ON
DECLARE
v_pro_id NUMBER;
v_pro_nombre VARCHAR2(40);
v_cantidad_productos NUMBER;
v_descuento BOOLEAN := FALSE;
BEGIN
v_pro_id := &pro_id;
SELECT COUNT(*)
INTO v_cantidad_productos
FROM ProductosPorOrden
WHERE Pro_Id = v_pro_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('El producto con ID ' || v_pro_id || ' no
existe.');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Se ha producido un error: ' || SQLERRM);
END;
/
PUNTO CUATRO.
SET SERVEROUTPUT ON
DECLARE
TYPE ProductoRecord IS RECORD (
Pro_Id NUMBER(8),
Pro_Nombre VARCHAR2(40)
);
l_productos ProductoTable;
BEGIN
v_emp_nombre Empleados.Emp_Nombre%TYPE;
v_jefe_nombre Empleados.Emp_Nombre%TYPE;
v_emp_id Empleados.Emp_Id%TYPE;
v_jefe_id Empleados.Emp_Id%TYPE;
CURSOR empleados_cursor IS
SELECT Emp_Id, Emp_Nombre, Emp_Jefe
FROM Empleados;
BEGIN
OPEN empleados_cursor;
LOOP
BEGIN
FETCH empleados_cursor INTO v_emp_id, v_emp_nombre, v_jefe_id;
CLOSE empleados_cursor;
END;
/
BEGIN
MostrarJefes;
END;
/
PUNTO 6.
RETURN total_empleados;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN 0;
END ContarEmpleadosPorLetra;
/
total NUMBER;
v_emp_nombre Empleados.Emp_Nombre%TYPE;
CURSOR empleados_cursor IS
SELECT Emp_Nombre
FROM Empleados
WHERE UPPER(SUBSTR(Emp_Nombre, 1, 1)) = UPPER(letra);
BEGIN
total := ContarEmpleadosPorLetra(letra);
OPEN empleados_cursor;
LOOP
FETCH empleados_cursor INTO v_emp_nombre;
EXIT WHEN empleados_cursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(' - ' || v_emp_nombre);
END LOOP;
CLOSE empleados_cursor;
END;
/
BEGIN
MostrarEmpleadosPorLetra('A');
END;
/