INSERT INTO  DG_TAGDIS(TAG,TTAG,TAGDATA)VALUES (select a.TAG  
from SYSTEM.DG_TAGSUB  a, SYSTEM.DG_TAGCHANGE b 
where :new.TAG= b.TAG(select  a.TTAG      
from SYSTEM.DG_TAGSUB  a, SYSTEM.DG_TAGCHANGE b 
where :new.TAG= b.TAG) ,(select  b.TAGDATA   
from SYSTEM.DG_TAGSUB  a, SYSTEM.DG_TAGCHANGE b 
where :new.TAG= b.TAG)
);
我做在触发器里 不知道错在哪里
编译通过
但更新数据就出错

解决方案 »

  1.   

    当select a.TAG  
    from SYSTEM.DG_TAGSUB  a, SYSTEM.DG_TAGCHANGE b 
    where :new.TAG= b.TAG
    的记录条数不是1的时候就会出错
      

  2.   

    SYSTEM.DG_TAGSUB 表 是触发对象
      

  3.   

    INSERT INTO  DG_TAGDIS(TAG,TTAG,TAGDATA)VALUES ((select a.TAG  
    from SYSTEM.DG_TAGSUB  a, SYSTEM.DG_TAGCHANGE b 
    where :new.TAG= b.TAG),(select  a.TTAG      
    from SYSTEM.DG_TAGSUB  a, SYSTEM.DG_TAGCHANGE b 
    where :new.TAG= b.TAG) ,(select  b.TAGDATA   
    from SYSTEM.DG_TAGSUB  a, SYSTEM.DG_TAGCHANGE b 
    where :new.TAG= b.TAG)
    );