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%FOUND 和 SQL%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
