我自己写了2种  但是好像都不对NO.1create or replace trigger AupdateB
  after update on a
  for each rowdeclare  ps_phone   varchar2(512);
  ps_content varchar2(512);
  ps_fsry    varchar2(512);
  ps_ret     varchar2(512);begin
  if updating then
    ps_phone := :old.dx_phone;
    ps_content := :new.dx_hfnr;
    ps_fsry := :new.dx_hfr;
    ps_ret := :new.dx_zxjg;
    p_push@dblink_b(ps_phone, ps_content,ps_fsry,ps_ret);
  end if;
end;
NO.2create or replace trigger AupdateB
  after update on a
  for each rowdeclare  ps_phone   varchar2(512);
  ps_content varchar2(512);
  ps_fsry    varchar2(512);
  ps_ret     varchar2(512);begin
  if updating then
    select :old.dx_phone, :new.dx_hfnr, :new.dx_hfr, :new.dx_zxjg
      into ps_phone, ps_content, ps_fsry, ps_ret
      from a
     where dx_id = :old.dx_id;
    p_push@dblink_b(ps_phone, ps_content,ps_fsry,ps_ret);
  end if;
end;第一个执行程序没报错 但是好像没成功
第二个触发器 执行程序的时候  还要报错
java.sql.SQLException: ORA-04091: 表a发生了变化,触发器/函数不能读
ORA-06512: 在"AupdateB", line 10
ORA-04088: 触发器 'AupdateB执行过程中出错
求解! 谢谢