菜鸟求救,还是触发器的问题
各位大虾,现在我有两个表,一个company(id,部门名称,员工人数) 一个person(id,姓名,所在部门id)
person表的"所在部门ID" 就是 company表的id
我现在想要修改员工的信息,在修改员工所在部门的时候,有点问题
当员工换部门,我的company表的"员工人数"要相应的变化,出来的部门减1,要去的部门加1
我现在想用触发器来实现,问题是 以前写的触发器,例如我增加员工时,company表的 "员工人数"就增加1
以前的触发器如下:
CREATE TRIGGER Add_Person ON dbo.person
FOR INSERT
AS
update company set staffnumber = staffnumber+1 where ID =(select "所在部门id" from inserted)
还有一个删除员工的,是 staffnumber = staffnumber-1 部门的人数变化都符合我的要求
现在的问题是我在更新员工信息时,修改部门ID后,一个部门人数要增加,一个要减少,触发器改如何写,
还有一点,因为我修改员工信息时,是不改变员工的ID的 所以不想把这个员工从这个部门删除,在增加到另一个部门去
现在我不知道现在修改时,如何控制触发器,在(select "所在部门id" from inserted)语句中,无法控制我想要执行的是增加还是减少。
小弟初学数据库,好多东西不会,也不知道我表达清楚了没有,还望大家指点一下