本帖最后由 QQ81867376 于 2012-11-02 15:35:20 编辑

解决方案 »

  1.   

    我发了半天的帖子没有人回答。不过怎么突然就好了呢?create or replace trigger tr_changeID
      before update on gap_ele_agency
      for each row
    declare
      agency_id NUMBER;
      some_kinds_of_err exception;
    begin
      if updating('id') then  
        agency_id := :new.id;
        dbms_output.put_line(agency_id);
        update gap_ele_agency
           set gap_ele_agency.parent_id = :new.id
         where gap_ele_agency.parent_id = :old.id;
      end if;exception
      WHEN OTHERS THEN
        dbms_output.put_line(agency_id);
    end;
      

  2.   

    ORACLE在触发器里不允许对本表进行DML操作,否则会影响数据完整性。