关于Oracle数据库中的SQLCode和SQLERRM函数问题

下面这个存储过程,有两个输入,两个输出。begin后,就给两个输出参数赋值。。。再下面进行输入参数的格式判断,不符合条件的就RAISE_APPLICATION_ERROR... 下面这个存储过程,有两个输入,两个输出。

begin后,就给两个输出参数赋值。。。
再下面进行输入参数的格式判断,不符合条件的就
RAISE_APPLICATION_ERROR(-20021, 'P_IN_DATE_FROM DATE FORMAT IS ERROR!');

我TEST了一下。故意输入错误的日期格式,然后输出的两个参数的值变成了
RAISE_APPLICATION_ERROR(-20021, 'P_IN_DATE_FROM DATE FORMAT IS ERROR!');中的值

问题来了————为什么RAISE_APPLICATION_ERROR中的两个参数值可以自动赋值给我自己定义的两个输出参数?
我百度了一下,发现了SQLCode和SQLErrm这两个函数的存在,看了一些教程后,我觉得输出参数应该定义为:
P_OUT_SQLCODE := SQLCode;
P_OUT_ERRMSG := SQLErrm;
这样才能获得RAISE_APPLICATION_ERROR中的值。。。而上面明显没这么写,却获得了其中的值。这是为什么呢?
展开
 我来答
faraway_xj
2015-07-10 · TA获得超过2675个赞
知道大有可为答主
回答量:2482
采纳率:0%
帮助的人:1323万
展开全部
图片里那是自定义exception
西巴rich
2015-07-10 · TA获得超过186个赞
知道答主
回答量:68
采纳率:0%
帮助的人:38.6万
展开全部
异常是怎么捕捉的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式