sql >> Databáze >  >> RDS >> Oracle

Spouštěč PL/SQL po vložení, aktualizaci, odstranění, který zadá data do tabulky protokolů se sekvencí

Protože v příkazu insert používáte hodnotu sekvence,

   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
           );

není třeba jej vybírat, jak je uvedeno níže.

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

Také vám v tomto řádku chybí dvojtečka,

      id_pay := :OLD.idpay;

EDIT:Ještě jedna věc, nemá smysl mít ve spouštěči příkaz DBMS_OUTPUT. Protože to neuvidíte, i když ho provedení dosáhne.



  1. Problém DataColumn MaxLength s MySql.Data.MySqlClient.MySqlCommand.ExecuteReader

  2. Jak se dotazovat na hodnoty null v poli json typu postgresql?

  3. Najděte průměr ID za měsíc

  4. Proveďte chvíli / smyčku, abyste získali 10 náhodných výsledků