错误(3,31):PL/SQL:ORA-00984:此处不允许列

Error(3,31): PL/SQL: ORA-00984: Column is not allowed here

我正在写以下 oracle sql 触发器

CREATE OR REPLACE TRIGGER scheme1.INSERTING_TRIGGER AFTER INSERT  ON scheme1.Bill
    FOR EACH ROW
    BEGIN
    INSERT INTO scheme2.DM_LOGGER(ID, TECHNOLOGY, WORKFLOW, NAME_EVENT, TIME_EVENT)
    VALUES(scheme1.Bill.id,'Repository','UP','Accepted', SYSDATE);   
    END;

它抛出以下错误:

如果我的猜测是正确的,问题出在DM_LOGGER的ID列。 但我不确定它有什么问题。我只想在我的记录器中自动插入新账单记录中的 ID。

您需要使用 NEW 记录:

CREATE OR REPLACE TRIGGER scheme1.INSERTING_TRIGGER AFTER INSERT  ON scheme1.Bill
    FOR EACH ROW
    BEGIN
    INSERT INTO scheme2.DM_LOGGER(ID, TECHNOLOGY, WORKFLOW, NAME_EVENT, TIME_EVENT)
    VALUES(:NEW.id,'Repository','UP','Accepted', SYSDATE);   
    END;

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS99955