天天看点

oracle数据库存储过程中NO_DATA_FOUND不起作用解决

1.首先创建一个表lengzijiantest,表中只有一个字段f_id

<a href="http://www.2cto.com/database/201309/244313.html#">?</a>

1

2

3

4

5

<code>[cpp]</code>

<code>CREATE</code> <code>TABLE</code> <code>LENGZIJIANTEST </code>

<code>( </code>

<code>  </code><code>F_ID  NUMBER                                 </code><code>NOT</code> <code>NULL</code> 

<code>)</code>

2.插入一条数据

<code>insert</code> <code>into</code> <code>lengzijiantest</code><code>values</code> <code>(1)</code>

3.现在表里面只有一条数据,值为1;

4.写入如下命令

6

7

8

9

10

11

12

13

<code>[sql]</code>

<code>DECLARE</code> 

<code>   </code><code>v_tmp   NUMBER := 0; </code>

<code>BEGIN</code> 

<code>   </code><code>SELECT</code> <code>f_id </code>

<code>     </code><code>INTO</code> <code>v_tmp </code>

<code>     </code><code>FROM</code> <code>lengzijiantest </code>

<code>    </code><code>WHERE</code> <code>f_id = 2; </code>

<code>EXCEPTION </code>

<code>   </code><code>WHEN</code> <code>NO_DATA_FOUND </code>

<code>   </code><code>THEN</code> 

<code>      </code><code>DBMS_OUTPUT.put_line (</code><code>'找不到数据'</code><code>); </code>

<code>END</code><code>;</code>

5.因为数据库中只有1的数据,该条语句会打印出“找不到数据”;如果把sql写成如下方式,则不会打印“找不到数据”

<code>   </code><code>SELECT</code> <code>min</code><code>(f_id) </code>

6.具体原因是由于在sql中使用了聚合函数,当使用聚合函数时,NO_DATA_FOUND是不起作用的,在这一点上也吃了小亏,不过问题不大,在此记录下问题。

oracle数据库存储过程中NO_DATA_FOUND不起作用解决
oracle数据库存储过程中NO_DATA_FOUND不起作用解决

<a href="http://home.cnblogs.com/u/soundcode/">左正</a>

<a href="http://home.cnblogs.com/u/soundcode/followees">关注 - 29</a>

<a href="http://home.cnblogs.com/u/soundcode/followers">粉丝 - 126</a>

<a>+加关注</a>

<a></a>

(评论功能已被禁用)

<a href="http://www.ucancode.com/index.htm" target="_blank">【推荐】超50万VC++源码: 大型工控、组态\仿真、建模CAD源码2018!</a>

<a href="https://dnspod.cloud.tencent.com/act/yearendsales?from=IT&amp;fromSource=gwzcw.741110.741110.741110" target="_blank">【推荐】腾讯云新用户域名抢购1元起,抓紧抢购</a>

oracle数据库存储过程中NO_DATA_FOUND不起作用解决

<b>最新IT新闻</b>:

oracle数据库存储过程中NO_DATA_FOUND不起作用解决

<b>最新知识库文章</b>: