首页 > 解决方案 > 简单的触发错误?!PL/SQL:ORA-00933:

问题描述

我正在尝试创建一个触发器,它将值插入审计表以供管理员用户批准。触发器会将添加到顾问表中的新值插入到此审计表中。

我已经重新调整了很多触发器,但似乎无法绕过编译错误!估计是小东西?

DROP TABLE   MyAuditTable;
CREATE TABLE MyAuditTable (
    audit_id INTEGER NOT NULL,
    new_name VARCHAR2 (30),
    new_postcode VARCHAR2 (20),
    status     VARCHAR2 (15), 
    CONSTRAINT pk_MyAuditTable  PRIMARY KEY ( audit_id )
); 


DROP sequence MySeq;
Create sequence MySeq MINVALUE 1 MAXVALUE 9999999 INCREMENT BY 1 START WITH 1;

drop trigger MyTrigger;
create trigger MyTrigger
after insert on my_consultant_table
for each row
begin
    insert into MyAuditTable values (
        MySeq.nextval, :new.con_name, 
        :new.con_postcode, 
        'Pending'
    )
    from my_consultant_table;
end;
/

错误:PL/SQL:ORA-00933:

所以审计表现在应该有从顾问表中新输入的数据,其中包含姓名和邮政编码属性。另一个触发器将触发,以便在更改状态时允许这些更改。

谢谢你!

标签: phporacleplsqlsql-insertdatabase-trigger

解决方案


线

from my_consultant_table

是不必要的。

应该:

insert into MyAuditTable values (MySeq.nextval, :new.con_name, :new.con_postcode, 'Pending');

推荐阅读