因为有了上面这个触发器,CROSSINGCONFIG这个表根本不能插入数据!
这个触发器哪里错了?

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER "ITS"."INSERT1" 
    AFTER INSERT ON "ITS"."CROSSINGCONFIG" 
    FOR EACH ROW 
    begin
         update wang_cross 
         set   (w_crossname,lightnum,sign)=
               (
                select CrossingName,TotalLight,sign 
                from   inserted
                where  inserted.CrossingID=wang_cross.w_crossid
               )
         where  wang_cross.w_crossid=inserted.CrossingID;
    end;
      

  2.   

    CREATE OR REPLACE TRIGGER INSERT1 
    AFTER INSERT ON CROSSINGCONFIG 
    FOR EACH ROW 
    begin
    update wang_cross 
    set w_crossname=:new.CrossingName,
        lightnum=:new.TotalLight,
        sign=:new.sign
     where w_crossid=:new.CrossingID;
    end;
    /
      

  3.   

    CREATE OR REPLACE TRIGGER "ITS"."INSERT1" AFTER
    INSERT ON "ITS"."CROSSINGCONFIG" 
        FOR EACH ROW 
    begin
    update wang_cross 
    set w_crossname=:new.CrossingName,lightnum=:new.TotalLight,sign=:new.sign
     where w_crossid=:new.CrossingID from inserted)
    end;
      

  4.   

    哇还少删个 from iserted,改
    CREATE OR REPLACE TRIGGER "ITS"."INSERT1" AFTER
    INSERT ON "ITS"."CROSSINGCONFIG" 
        FOR EACH ROW 
    begin
    update wang_cross 
    set w_crossname=:new.CrossingName,lightnum=:new.TotalLight,sign=:new.sign
     where w_crossid=:new.CrossingID;
    end;
      

  5.   

    inserted是表還是sql中的類似old,new的偽列?