ORA-04098:触发' SYSTEM.TEXT_TRIG'无效且重新验证失败

时间:2014-08-14 06:36:44

标签: sql database oracle triggers

我使用oracle数据库10g express版来执行触发器。我的表结构如下所示:

表格文字:

create table text
(
    tid number Not Null,
    tname varchar2(5)
);

表格书:

create table book
(
    bid number Not Null,
    bname varchar2(5),
    foreign key(bid) references text(tid)
);

后来在文本tabe中插入了一行:1,abc

我的问题是当我要向文本表插入一个值时,它应该自动在book表中插入一个值。

我创建了一个名为text_trig的触发器:结构如下:

create trigger text_trig after insert on text
for each row
begin
     insert into book set bid=NEW.tid;
end;
/

它给了我一条警告信息:用编译错误创建触发器。

当我在文本表中插入新值时,它显示错误消息为

  

触发'SYSTEM.TEXT_TRIG'无效且重新验证失败。

1 个答案:

答案 0 :(得分:0)

你错过了冒号。

set bid = :NEW.tid