在下面的兩個代碼塊中,使用WHEN NO_DATA_FOUND THEN ,否則哪一個代碼使用效率高。使用哪一個是有效的'WHEN NO_DATA_FOUND THEN'或'ELSE'?
if outrowcount = 1 then
update Extable set CLIENT_COUNT = outCliCount where cname='xxx';
outretvalue := 0;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
outretvalue := -1;
或
if outrowcount = 1 then
update Extable set CLIENT_COUNT = outCliCount where cname='xxx';
outretvalue := 0;
else
outretvalue := -1;
如果你想返回值,如果outrowcount = 1並更新記錄,那麼如果else方法會更好,而不是EXCEPTION方法恕我直言。 – user75ponic
@polppan好的,那麼何時使用WHEN NO_DATA_FOUND? – user1
如果您的選擇查詢無法獲取記錄,則需要使用'No_DATA_FOUND'異常來捕獲異常。一個很好的例子可以在這裏找到(http://www.orafaq.com/wiki/ORA-01403) – user75ponic