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