Da Sie den Sequenzwert in der Insert-Anweisung verwenden,
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
);
es ist nicht notwendig, es wie unten auszuwählen.
SELECT idtrack_seq.NEXTVAL
INTO :NEW.idtrack
FROM DUAL;
Außerdem haben Sie in dieser Zeile einen Doppelpunkt übersehen,
id_pay := :OLD.idpay;
BEARBEITEN:Eine weitere Sache, es macht keinen Sinn, die DBMS_OUTPUT-Anweisung im Trigger zu haben. Da Sie es nicht sehen werden, selbst wenn die Hinrichtung es erreicht.