|
|
最初由 zy_ly 发布
[B]1、关于第二个问题,我又反复测试(包括在其它机器上,当然环境一样),错误不尽相同,
对于不同的view,记录字段较少的,select * from 没问题,对于大表即使限制rownum 也报同样的错,如果仅查一个字段肯定可以,多了就不敢保证(类型都是普通的),可能真是网络层 转换有问题。
2、在子过程里针对insert语句,写了如下异常
insert into ...................;
commit;
EXCEPTION
WHEN OTHERS THEN
V_OUT := -2 ;
ROLLBACK ;
RETURN ;
在父过程里判断v_out,如果小于0,就报错,既然子过程触发异常,肯定就没有commit;如何达到目的 [/B]
用raise _application_error看看抛出的是什么异常?
EXCEPTION
WHEN OTHERS THEN
V_OUT := -2 ;
ROLLBACK ;
-->
EXCEPTION
WHEN OTHERS THEN
if sqlcode <> 0 then
raise _application_error(-20901,'sqlcode = '||sqlcode||' sqlerrm'||sqlerrm);
end if; |
|