新手求教触发器问题。
现有如下表
create table Book --书库
(
bno char(6) primary key, --书号
bname varchar(20) not null, --书名
bpress varchar(20), --出版社
bprice numeric(5,2) not null, --定价
bamount numeric(3) --库存量
)
create table Marketed --销售
(
mno char(5) primary key, --销售单序号
bno char(6), --书号
mdate date not null, --销售日期
mprice numeric(5,2), --销售价格
foreign key (bno) references Book(bno)
)
我想创建触发器实现在插入一条销售记录(即售出一本书后),实现将book中的bamount(库存量)-1的操作
触发器语句如下:
create trigger mark_tri after insert on marketed
begin
update book set bamount = bamount -1
where book.bno = new.bno;
end;
创建成功,但插入时报错ora-04098触发器无效或未通过验证。求解原因及解决方法。
注:使用PL/SQL developer
Oracle 11g
------解决方案--------------------