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 表记录的是哪个异常! 展开
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 表记录的是哪个异常! 展开
2个回答
展开全部
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异常就写不进该表
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异常就写不进该表
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询