生活随笔
收集整理的這篇文章主要介紹了
oracle数据库存储过程中NO_DATA_FOUND不起作用解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
oracle數據庫存儲過程中NO_DATA_FOUND不起作用
1.首先創建一個表lengzijiantest,表中只有一個字段f_id ?
| 1 2 3 4 5 | [cpp] CREATE TABLE LENGZIJIANTEST? (? ??F_ID? NUMBER????????????????????????????????? NOT NULL? ) |
2.插入一條數據 ?
| 1 2 | [cpp] insert into lengzijiantest values (1) |
3.現在表里面只有一條數據,值為1; 4.寫入如下命令 ?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | [sql] DECLARE? ???v_tmp?? NUMBER := 0;? BEGIN? ???SELECT f_id? ?????INTO v_tmp? ?????FROM lengzijiantest? ????WHERE f_id = 2;? EXCEPTION? ???WHEN NO_DATA_FOUND? ???THEN? ??????DBMS_OUTPUT.put_line ('找不到數據');? END; |
5.因為數據庫中只有1的數據,該條語句會打印出“找不到數據”;如果把sql寫成如下方式,則不會打印“找不到數據” ?
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | [sql] DECLARE? ???v_tmp?? NUMBER := 0;? BEGIN? ???SELECT min(f_id)? ?????INTO v_tmp? ?????FROM lengzijiantest? ????WHERE f_id = 2;? EXCEPTION? ???WHEN NO_DATA_FOUND? ???THEN? ??????DBMS_OUTPUT.put_line ('找不到數據');? END; |
6.具體原因是由于在sql中使用了聚合函數,當使用聚合函數時,NO_DATA_FOUND是不起作用的,在這一點上也吃了小虧,不過問題不大,在此記錄下問題。
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的oracle数据库存储过程中NO_DATA_FOUND不起作用解决的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。