CREATE OR REPLACE TRIGGER TRIGGER_YSC_HUIZONGBAOBIAO
AFTER INSERT OR UPDATE OR DELETE 
of co_code,account_id,fiscal,fis_perd,acc_code,fis_,dr_amt,cr_amt
ON GL_BAL
FOR EACH ROW
when (new.co_code<>'C000002' or account_id<>'10')
BEGIN 
DELETE FROM GL_BAL WHERE ACCOUNT_ID='10' AND CO_CODE='C000002' and fis_perd= :new.fis_perd and fiscal= :new.fisperd;
INSERT INTO GL_BAL 
SELECT * FROM YSC_HZBB where fis_perd= :new.fis_perd and fiscal= :new.fisperd;
END;刚刚接触触发器,我写的这个触发器提示我new不对,高手帮我看看怎么样才能用变化的内容里的字段呢?

解决方案 »

  1.   

    CREATE   OR   REPLACE   TRIGGER   TRIGGER_YSC_HUIZONGBAOBIAO 
    AFTER   INSERT   OR   UPDATE   OR   DELETE   
    of   co_code,account_id,fiscal,fis_perd,acc_code,fis_,dr_amt,cr_amt 
    ON   GL_BAL 
    FOR   EACH   ROW 
    BEGIN   
    when   (:new.co_code <> 'C000002 '   or   :new.account_id <> '10 ') then
    DELETE   FROM   GL_BAL   WHERE   ACCOUNT_ID= '10 '   AND   CO_CODE= 'C000002 '   and   fis_perd=   :new.fis_perd   and   fiscal=   :new.fisperd; 
    INSERT   INTO   GL_BAL   
    SELECT   *   FROM   YSC_HZBB   where   fis_perd=   :new.fis_perd   and   fiscal=   :new.fisperd; 
    END;