Documentos de Académico
Documentos de Profesional
Documentos de Cultura
--1.
--Paquete auxiliar
CREATE OR REPLACE PACKAGE PQ_AuxEjm1 IS
v_fac_id facultad.facultad_id%TYPE;
v_cantProf NUMBER := 0;
END;
--Test
--SET SERVEROUTPUT ON;
INSERT INTO profesor VALUES (66245, 'Test Martinez', 2141500, 2);
UPDATE profesor SET facultad_id = 4 WHERE cedula = 21;
--3.
END IF;
END;
--Test
--SET SERVEROUTPUT ON;
INSERT INTO profesor VALUES (66245, 'Test Martinez', 900000, 3);
UPDATE profesor SET SALARIO = 900000 WHERE cedula = 2;
--4.
--5
--Evite que se asocie un estudiante a un programa que pertenezca a una facultad sin
profesores. Recuerde que el
--campo Programa_Id del estudiante puede ser nulo.
DECLARE
TYPE facSinProf IS TABLE OF programa.programa_id%TYPE;
v_tbl facSinProf;
BEGIN
SELECT programa.programa_id BULK COLLECT INTO v_tbl FROM Facultad JOIN PROGRAMA ON
facultad.facultad_id = programa.facultad_id WHERE facultad.nombre NOT IN
(
SELECT facultad.nombre FROM FACULTAD JOIN PROFESOR ON profesor.facultad_id =
facultad.facultad_id
GROUP BY facultad.nombre HAVING COUNT(profesor.cedula) > 0
);
END;
--Test
INSERT INTO estudiante VALUES (0104628,'Julian Prueba', 3.0, 12);
UPDATE estudiante SET programa_id = 12 WHERE codigo = 1;