RECU PL SQL
1.
2.
3. OPCIO A
4.
6.
7.
CREATE OR REPLACE PROCEDURE RECU06(p_ciudad IN [Link]%TYPE) IS
v_id_ubicacion LOCATIONS.location_id%TYPE;
BEGIN
-- Verificar si la ciudad existe y obtener el id_ubicacion
BEGIN
SELECT location_id
INTO v_id_ubicacion
FROM LOCATIONS
WHERE city = p_ciudad;
-- Si la ciudad existe, proceder a obtener los empleados y sus departamentos
DECLARE
CURSOR cursor_empleados IS
SELECT e.first_name, e.last_name, d.department_name
FROM EMPLOYEES e
JOIN DEPARTMENTS d ON e.department_id = d.department_id
WHERE d.location_id = v_id_ubicacion;
registro_empleado cursor_empleados%ROWTYPE;
BEGIN
OPEN cursor_empleados;
LOOP
FETCH cursor_empleados INTO registro_empleado;
EXIT WHEN cursor_empleados%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('Nombre: ' || registro_empleado.first_name || ',
Apellido: ' || registro_empleado.last_name || ', Departamento: ' ||
registro_empleado.department_name);
END LOOP;
CLOSE cursor_empleados;
END;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Error: La ciudad ' || p_ciudad || ' no existe en la tabla
LOCATIONS.');
END;
END;
/