oracle - 错误(3,31): PL/SQL: ORA-00984: Column is no

我正在写以下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;

并引发以下错误:
  • 错误(2,1):PL/SQL:忽略了SQL语句
  • 错误(3,31):PL/SQL:ORA-00984:此处不允许使用该列。

  • 如果我的猜测是正确的,则问题出在DM_LOGGER的ID列中。
    但是我不确定这是怎么回事。我只想从记录器中自动插入新Bill记录中的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

    关于oracle - 错误(3,31): PL/SQL: ORA-00984: Column is not allowed here,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29771474/

    相关文章:

    java - 无法访问 org.eclipse.core.runtime.IProgressMoni

    c# - 分配的左侧必须是变量属性或索引器

    c# - 引用Shell32.dll?

    r - 使用 R 包 brms 时出错

    c# - 错误: [feature] requires a Business (or higher)

    generics - TypeScript 泛型类 : Cannot assign to Gener

    c# - 具有只读哈希表的嵌套内部类在分配时引发Null ref异常。

    python - 在 Python 中不使用\n 的新行

    c++ - Visual Studio中D8049错误的原因是什么?

    python - 无法运行Python脚本