PLSQL的SQL%NOTFOUND的使用場景


SELECT * INTO v_ticketStorageRow FROM BDM_TICKET_STORAGE
         WHERE p_startTicketNo >= START_NO_ AND p_startTicketNo <= END_NO_;
  IF SQL%FOUND
  THEN
    raise_application_error(-20000, '起始票號范圍已經存在');
  END IF;

 當select沒有記錄時IF SQL%FOUND並不會執行到,而是拋出NO_DATA_FOUND異常

這樣的場景可以用select count(*) into v_recCout, 判斷v_recCount不為0驗證有無記錄

 

SQL%FOUNDSQL%NOTFOUND在update和delete語句執行后可以正常用

 

 

對PLSQL的SQL%NOTFOUND的再驗證

http://www.cnblogs.com/gaojian/archive/2012/11/23/2784471.html

 

NO_DATA_FOUND、SQL%NOTFOUND、SQL%ROWCOUNT的區別

http://hutianci.iteye.com/blog/386726

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM