触发器问题
写了一个触发器如下:
create sequence lt_seq;
create or replace trigger TR_ExceedingLimitNotice
before insert or update of ExpAmt
on ExpenseItem
for each row
declare
var_ECLimit number;
var_ecno number;
begin
select ecno
into var_ecno
from ExpenseItem
where eino=:new.eino;
select ECLimit
into var_ECLimit
from ExpCat
where ecno=var_ecno;
if :new.expamt>var_ECLimit then
insert into Log_Table
values(lt_seq.nextval,'TR_ExceedingLimitNotice','ExpenseItem',:new.eino,sysdate,'expense limit!');
end if;
end;
--测试:
insert into expenseitem(EINO,EXPDESC,EXPENSEDATE,EXPAMT,EXPAPPRAMT,ERNO,ECNO)
values(ei_seq.nextval,'Car Rental','2007-7-10',99,40,1,1);
测试的结果老是出现错误
insert into expenseitem(EINO,EXPDESC,EXPENSEDATE,EXPAMT,EXPAPPRAMT,ERNO,ECNO)
*
第 1 行出现错误:
ORA-01403: 未找到数据
ORA-06512: 在 "ERDB.TR_EXCEEDINGLIMITNOTICE", line 6
ORA-04088: 触发器 'ERDB.TR_EXCEEDINGLIMITNOTICE' 执行过程中出错
那位大侠帮忙看一下是怎么回事,多谢了