天天看點

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>: