触发器有关问题-同一张表两个字段的更新

触发器问题-同一张表两个字段的更新
新手求教。
在一张员工信息表emp中,有以下几个字段,
id                  员工编号
name           员工姓名
teacherid    导师编号
teacher        导师姓名

所有导师的基本信息也在这张员工表中,
select name from emp where id=teacherid
现在的问题是:

通过更新导师编号自动带出导师姓名的触发器怎样编写,
我测试了几个都不正确,希望各位帮忙看下。

------解决思路----------------------
引用:

只有建个视图或者是表作用一个中间对象。
如下是建一个中间视图,当你对视图进行update时就能达到你要的效果:


 create table t1(id number,nm varchar2(10)); --建测试表
--插入测试数据
 insert into t1 values(1,'ct1'); 
 insert into t1 values(2,'ct2');
commit;
--创建视图
create view v_t1 as select * from t1;
--在视图上创建trigger(只能创建instead of 类型的)
create or replace trigger test
  instead of UPDATE ON v_t1
  FOR EACH ROW
DECLARE
BEGIN
        UPDATE t1
        SET nm = (select nvl(nm,:old.nm) from t1 where t1.id=:new.id)
        WHERE id = :old.id;
END t_v_test;

update v_t1 set id=2 where id=1; --更新视图的id,nm也会更新