Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2007, 12:37
rabelvi
 
Fecha de Ingreso: abril-2007
Mensajes: 2
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta Ayuda en un disparador!!

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();