oracle 中 sqlcode的问题

BEGINXXXXEXCEPTIONWHENOTHERSTHENv_sqlerrm:=sqlerrm;n_sqlcode:=sqlcode;insertintotest(... BEGIN
XXXX

EXCEPTION
WHEN OTHERS
THEN
v_sqlerrm := sqlerrm;
n_sqlcode := sqlcode;
insert into test(sqlerrm,sqlcode) --test为自建表,用与存放错误的
values(v_sqlerrm ,n_sqlcode);
END ;

现在问题是在异常处理中的那个insert 语句出现异常了怎么办?
我的test表实记录 XXX代码中事务执行的情况!
你应该在insert之前回退,把正常事务回退 test 表记录的是哪个异常!
展开
 我来答
茗茶堂
2009-06-18 · TA获得超过682个赞
知道小有建树答主
回答量:346
采纳率:100%
帮助的人:0
展开全部
1、你应该在insert之前回退,把正常事务回退;
2、在insert之后提交:
EXCEPTION
WHEN OTHERS
THEN
v_sqlerrm := sqlerrm;
n_sqlcode := sqlcode;
rollback;
insert into test(sqlerrm,sqlcode) --test为自建表,用与存放错误的
values(v_sqlerrm ,n_sqlcode);
commit;
END ;

3、如果insert异常就写不进该表
konrs
2009-06-18 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:0
展开全部
在exception中写上begin
....
begin
insert into test(sqlerrm,sqlcode) --test为自建表,用与存放错误的
values(v_sqlerrm ,n_sqlcode);
commit;
exception
when others then
rollback;

end;
end;
最后insert错误的时候吧系统时间加上~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式