首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ORA-01403:未找到数据--异常处理不起作用

ORA-01403:未找到数据--异常处理不起作用
EN

Stack Overflow用户
提问于 2017-01-31 12:30:40
回答 3查看 1.1K关注 0票数 1
代码语言:javascript
运行
复制
BEGIN
FOR v_LoadRec IN c_Load LOOP
    SELECT   count(1) INTO v_NO_OF_DAYS_RESP
    from     DIM_DATE
    where    DIM_DATE.TRADING_DAY_FLAG = 'Y' and
             DIM_DATE_KEY <= TO_NUMBER(TO_CHAR(v_LoadRec.RESPONSE_DATE,'YYYYMMDD')) and
             DIM_DATE_KEY >= TO_NUMBER(TO_CHAR(v_LoadRec.OPEN_DATE, 'YYYYMMDD'))
    group by  v_LoadRec.CALL_NUMBER;
    IF SQL%NOTFOUND THEN
     v_NO_OF_DAYS_RESP :='';
    END IF;

    SELECT   count(1) INTO v_NO_OF_DAYS_RESO
    from     DIM_DATE
    where    DIM_DATE.TRADING_DAY_FLAG = 'Y' and
         DIM_DATE_KEY <= TO_NUMBER(TO_CHAR(v_LoadRec.RESOLVE_DATE,'YYYYMMDD')) and
         DIM_DATE_KEY >= TO_NUMBER(TO_CHAR(v_LoadRec.OPEN_DATE, 'YYYYMMDD'))
    group by  v_LoadRec.CALL_NUMBER;
    IF SQL%NOTFOUND THEN
     v_NO_OF_DAYS_RESO :='';
    END IF;

END LOOP;

我在update过程中有这样一段SQL语句,它收集每个记录的交易天数,然后将其插入到一个名为"v_NO_OF_DAYS_RESP“的整数变量中,例如,调用的打开日期和响应日期之间的天数。

除非出现null "RESPONSE_DATE“,并出现"ORA-01403: no data found”错误,否则这种方法工作得很好。我理解它失败的原因(因为它当然没有要插入的记录),但我似乎想不出一种方法来绕过它。

在这些"RESPONSE_DATE“被发现为NULL的情况下,我希望将"v_NO_OF_DAYS_RESP”变量也设置为NULL (或者甚至以某种方式将SQL语句嵌套在"IF“中,以便在"RESPONSE_DATE”为NULL时完全避免运行计算(SQL语句))。

*简单地说,我需要以下内容:..如果调用还没有响应日期,要么不运行SQL语句(计算),要么将var设置为Null

任何想法或建议都将不胜感激。

谢谢-开尔文

EN

Stack Overflow用户

回答已采纳

发布于 2017-02-01 05:13:58

代码语言:javascript
运行
复制
 if (v_LoadRec.RESPONSE_DATE) is null Then
     v_NO_OF_DAYS_RESP:='';
 else
    SELECT      count(1) INTO v_NO_OF_DAYS_RESP
    from    DIM_DATE
    where   DIM_DATE.TRADING_DAY_FLAG = 'Y' and
        DIM_DATE_KEY <= TO_NUMBER(TO_CHAR(v_LoadRec.RESPONSE_DATE, 'YYYYMMDD')) and
        DIM_DATE_KEY >= TO_NUMBER(TO_CHAR(v_LoadRec.OPEN_DATE, 'YYYYMMDD'))
    group by  v_LoadRec.CALL_NUMBER;
    IF SQL%NOTFOUND THEN
       v_NO_OF_DAYS_RESP :='';
    END IF;
 end if;
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41949665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档