這個可以用程式達成的
在刪除那個要離職主管時,就要指定一個新的主管
一個SQL語名就搞定了
update emp_table set manager_emp_id='新主管的ID' where manager_emp_id='舊主管ID'

解决方案 »

  1.   

    主管离职的话,你也可以一个SQL语句把所有主管为该manager_emp_id一次更新为另一值啊,这应该是在应用程序中处理这些逻辑吧,实现起来倒是很简单。
      如果你不想每次主管离职都要更新他下属员工的manager_emp_id,我觉得可以这样吧:
    另建一个主管编号与主管emp_id中间对应表(这个表记录数也就是总管的数目应该比较小),你的emp_table表中manager_emp_id存放主管的编号而不是主管的emp_id,这样的话主管离职时你只需要把这个中间对应表中=该主管emp_id这一条记录更新一下(改变其emp_id值),受影响的记录范围是大大减少,不过如果需要查询主管emp_id时要做联合查询了
      

  2.   

    我把很多这种类似的都拉出来做一张表含有id号和name,结果发现要做多重的连接查询,会不会大大降低运行速度啊?
      

  3.   

    如果仅仅因为这个原因,没必要再建新表,需要时直接update就行了。