1.去掉你的COMMIT; 2.(select xm_id from t_zj_specialist where zj_no = :new.zj_no)这条语句的括号不能用全角 3.你的触发器可以编译通过,但你在表t_ps_wnzjxp上建了触发器,同时又对它UPDATE,从而该表现在为变异表,你在INSERT以后应该会出错。
你试试这样:CREATE OR REPLACE TRIGGER insert_wnzjxp before insert ON t_ps_wnzjxp for each row BEGIN select xm_id into :new.xm_id from t_zj_specialist where zj_no = :new.zj_no; END;
你的方法好像不行.
能不能写完整?
2.(select xm_id from t_zj_specialist where zj_no = :new.zj_no)这条语句的括号不能用全角
3.你的触发器可以编译通过,但你在表t_ps_wnzjxp上建了触发器,同时又对它UPDATE,从而该表现在为变异表,你在INSERT以后应该会出错。
before insert ON t_ps_wnzjxp
for each row
BEGIN
select xm_id into :new.xm_id from t_zj_specialist where zj_no = :new.zj_no;
END;
楼上 glen_guest(孤 月) 是正确的。
soniczck(城市农作物)提的建议很不错。