sql >> Databasteknik >  >> RDS >> Oracle

PL/SQL-utlösare för efter infogning, uppdatering, radering som matar in data i loggtabellen med en sekvens

Eftersom du använder sekvensvärdet i insert-satsen,

   INSERT INTO dd_paytrack
           (idtrack, pt_user, pt_date,
            pt_action, pt_payid
           )
    VALUES (idtrack_seq.NEXTVAL, USER, TO_CHAR (SYSDATE, 'DD-MON-YY'),
            log_action, id_pay
           );

det finns inget behov av att välja det enligt nedan.

SELECT idtrack_seq.NEXTVAL
 INTO :NEW.idtrack
 FROM DUAL;

Dessutom har du missat ett kolon på den här raden,

      id_pay := :OLD.idpay;

EDIT:En sak till, det är ingen idé att ha DBMS_OUTPUT-satsen i triggern. Eftersom du inte kommer att se det, även om utförandet når det.



  1. Hibernate n:m extractHashCode kastar NullPointerException

  2. Fördunkla känsliga uppgifter i dina genomförandeplaner

  3. Det aktuella tillståndet för Open Source Backup Management för PostgreSQL

  4. Skicka e-post i bakgrunden utan cron