CREATE OR REPLACE TRIGGER tri_change
  BEFORE INSERT OR DELETE OR UPDATE ON B
  FOR EACH ROW
DECLARE
  v_a CHAR(1);
  v_name varchar2(10);
BEGIN
  IF INSERTING THEN
     if :new.a='0' or :new.a='1' then
        v_a:= :new.a;
        v_name:=:new.name;
        update A set c=v_a where name=v_name;
     end if;
  ELSIF UPDATING THEN
    if :new.a='0' or :new.a='1' then
        v_a:= :new.a;
        v_name:=:new.name;
        update A set c=v_a where name=v_name;
     end if;
  ELSE
    if :old.a='0' or :old.a='1' then
        v_a:= :old.a;
        v_name:=:old.name;
        update A set c=v_a where name=v_name;
     end if;
  END IF;
  
  END tri_change;
/我建议如果你的存储过程只是做到修改A表的话,可以直接做到触发器里;