26/04/2007, 12:37
|
| | Fecha de Ingreso: abril-2007
Mensajes: 2
Antigüedad: 17 años, 7 meses Puntos: 0 | |
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(); |