Oracle 存储过程不能执行 但是不报错

一张学生表student一张成绩表gradecreateorreplaceproceduredel_stu(studentID1innumber)isbegindelet... 一张学生表student 一张成绩表grade
create or replace procedure del_stu
(studentID1 in number)
is
begin
delete from student where studentid=studentID1;
if SQL%ROWCOUNT = 0 then
RAISE_APPLICATION_ERROR(-20123, 'Invald product code', TRUE);

end if;
delete from grade where studentid=studentID1;

if SQL%ROWCOUNT = 0 then
RAISE_APPLICATION_ERROR(-20123, 'Invald product code', TRUE);

end if;

commit;
exception when others then
rollback;
end;
call del_stu(1);
为什么不能执行,但是不报错,两张表都有studentID=1的学生
展开
 我来答
micro0369
2013-07-10 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4066万
展开全部
调用用 exec del_stu(1);
试试看
更多追问追答
追问
不能的 ,用exec是无效的SQL语句
追答
你在 
exception when others then
rollback;
end;

已经截获错误,并处理了,

你怎么知道 没有报错呢 ?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式