一个很简单的触发器莫名报错,帮忙看看到底为什么
create or replace trigger tri_test_equ_lube
after insert
on equ_lube
for each row
declare
isexists number;
begin
select count(*) into isexists from aa t;
if isexists >0 then
raise_application_error(-20999,to_char(isexists));
end if;
end;
上面这个触发器在被触发的时候报错,错误内容如下:
ORA-06512 在"SA.TRI_TEST_EQU_LUBE",LINE 8
ORA-04088 触发器'SA.TRI_TEST_EQU_LUBE'执行过程中出错
到底问题出在哪里啊,帮忙看看。
问题点数:20、回复次数:4Top
1 楼njhart2003()回复于 2005-08-24 11:50:19 得分 20
>select count(*) into isexists from aa t;
去掉最后的t,试试
select count(*) into isexists from aa;
Top
2 楼_131_(\*咕咚*/)回复于 2005-08-24 11:53:08 得分 0
t无所谓,就是个别名而已Top
3 楼njhart2003()回复于 2005-08-24 12:32:09 得分 0
>raise_application_error(-20999,to_char(isexists))
to_char(isexists)改成一个常量试试,如字符串什么的.Top
4 楼_131_(\*咕咚*/)回复于 2005-08-24 12:47:23 得分 0
改成字符串的话,也是这个错误。试过了。
算了,结贴了!Top




