oracle游标中捕获异常,oracle 游标循环, 查询,异常捕获,继续执行

declare

--类型定义

strsql string(500);

v_ErrorCode NUMBER;           -- Variable to hold the error message code

v_ErrorText VARCHAR2(200);    -- Variable to hold the error message text

cursor c_eventstate

is

Select  CampaignId,phonenumber,PolicyNumber from mkt_eventstate a where synstate =0 and packagestate = 2 and errorcode = 6;

--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型

c_row c_eventstate%rowtype;

begin

for c_row in c_eventstate loop

begin

strsql:=‘select * from mkt_userprizeinfo t where t.campaignid=‘||c_row.CampaignId||‘ and t.userid=‘||c_row.phonenumber||‘ and t.PolicyNumber=‘‘‘||c_row.PolicyNumber||‘‘‘‘;

execute immediate strsql ;

dbms_output.put_line(c_row.CampaignId||‘-‘||c_row.phonenumber||‘-‘||c_row.PolicyNumber);

-- RAISE_APPLICATION_ERROR(-20001,‘数值不能为0‘);

EXCEPTION

--捕捉异常

WHEN others THEN

begin

v_ErrorCode := SQLCODE;

v_ErrorText := SUBSTR(SQLERRM, 1, 200);

DBMS_OUTPUT.put_line(‘捕获了错误begin‘);

dbms_output.put_line(c_row.CampaignId||‘-‘||c_row.phonenumber||‘-‘||c_row.PolicyNumber||‘-‘||v_ErrorCode || ‘::‘||v_ErrorText);

DBMS_OUTPUT.put_line(‘捕获了错误end‘);

end;

end;

end loop;

end;

原文:http://www.cnblogs.com/linbl/p/4565746.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值