【问题标题】:Oracle - procedure related queryOracle - 过程相关查询
【发布时间】:2010-11-29 03:07:34
【问题描述】:

我正在 oracle 中编写以下查询:

DBMS_OUTPUT.....'Ashish'

从 tab_1 中选择 col1 到 val1

DBMS_OUTPUT.....'Ubale'

当我运行这个程序时,我得到的输出是“Ashish”,为什么? 还有 v_val1 变量的值是什么

注意:该表不包含任何记录

【问题讨论】:

    标签: oracle procedures


    【解决方案1】:

    由于表为空,“select into”语句将引发 NO_DATA_FOUND 异常。这就是为什么您没有收到第二条消息的原因。 val1 将具有与选择之前相同的值 - 如果您之前没有分配值,则为 null。

    你不知道你得到了 NO_DATA_FOUND 异常的事实表明你犯了 PL/SQL 开发人员犯过的最大错误之一:

    EXCEPTION
        -- Never do this in real code!!!
       WHEN OTHERS THEN NULL;
    END;
    

    【讨论】:

    • +1 我会给例外块中的评论 +2 :)
    【解决方案2】:

    你有错误吗?如果表中没有行。你可能会得到 no_data_found 异常。

    顺便问一下,你的整个代码在哪里?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多