【发布时间】:2010-11-29 03:07:34
【问题描述】:
我正在 oracle 中编写以下查询:
DBMS_OUTPUT.....'Ashish'
从 tab_1 中选择 col1 到 val1
DBMS_OUTPUT.....'Ubale'
当我运行这个程序时,我得到的输出是“Ashish”,为什么? 还有 v_val1 变量的值是什么
注意:该表不包含任何记录
【问题讨论】:
标签: oracle procedures
我正在 oracle 中编写以下查询:
DBMS_OUTPUT.....'Ashish'
从 tab_1 中选择 col1 到 val1
DBMS_OUTPUT.....'Ubale'
当我运行这个程序时,我得到的输出是“Ashish”,为什么? 还有 v_val1 变量的值是什么
注意:该表不包含任何记录
【问题讨论】:
标签: oracle procedures
由于表为空,“select into”语句将引发 NO_DATA_FOUND 异常。这就是为什么您没有收到第二条消息的原因。 val1 将具有与选择之前相同的值 - 如果您之前没有分配值,则为 null。
你不知道你得到了 NO_DATA_FOUND 异常的事实表明你犯了 PL/SQL 开发人员犯过的最大错误之一:
EXCEPTION
-- Never do this in real code!!!
WHEN OTHERS THEN NULL;
END;
【讨论】:
你有错误吗?如果表中没有行。你可能会得到 no_data_found 异常。
顺便问一下,你的整个代码在哪里?
【讨论】: