oracle 存储过程如何捕获特定异常

proceduregetzlrecordNewStatisticsInfo(v_startdateinvarchar2,v_enddateinvarchar2,varER... procedure getzlrecordNewStatisticsInfo(v_startdate in varchar2,
v_enddate in varchar2,
varERRMSG out varchar2,
p_c1 out cursortype) as
begin
open p_c1 for
with t as
(select * from LY_CONTRACT c )
select nvl2(FILE_DATE,to_char(FILE_DATE,'mm')||'月','合计')FILE_DATE from t
where FILE_DATE is not null
group by rollup(FILE_DATE)
order by FILE_DATE;

exception
when others then
if sqlcode=-01427
then
select wm_concat( '合同号为'||contractno||'的合同对应'||a||'个有效备案:'||record_no)
into varERRMSG from ( select * from LY_CONTRACT c
where exists
(select FILE_ID
from LY_CONTRACT_RECORD r
where r.Contract_Id = c.file_id
and exists
(select FILE_ID
from ly_s_docbase where FILE_ID = r.file_id
and is_flow in (2, 3) where a>1;
else
varERRMSG := sqlcode;
end if;
open p_c1 for
select null from dual;
end getzlrecordNewStatisticsInfo;
为什么进入不了异常部分
展开
 我来答
renfengjun1986
2013-12-19
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
条件改成下面的。
if sqlcode=-1427
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式