Hola! Alguien me puede decir si esta bien este disparador:
"Un empleado sólo puede trabajar en departamentos donde esté trabajando su jefe"
La consulta sería:
select employee_id, first_name from hr.employees e where manager_id in
(select manager_id from hr.departments d
where d.manager_id = e.manager_id and d.department_id =e.department_id)
Y el disparador que he hecho es este pero no se si esta bien, alguien me puede ayudar
CREATE FUNCTION emp_dep_jefe()
RETURNS TRIGGER
AS
'
BEGIN UPDATE hr.employees e, hr.departments d
SET e.department_id = d.departments_id
WHERE manager_id in (SELECT manager_id FROM hr.departments d
WHERE d.manager_id = e.manager_id AND d.department_id =e.department_id)
END;
'
LANGUAGE 'plpgsql'
CREATE TRIGGER trigger_ModificarEmp
AFTER UPDATE ON employees
FOR EACH ROW
EXECUTE PROCEDURE emp_dep_jefe();