我正在學習PL/SQL,目前正在使用oracle HR模式的過程和異常。PL/SQL異常更新/刪除不存在的行
這是我的簡單程序。
create or replace
PROCEDURE DEL_JOB
(p_jobid jobs.job_id%TYPE)
AS
sqle NUMBER;
sqlm VARCHAR2(300);
BEGIN
DELETE FROM JOBS
WHERE JOB_ID = UPPER(p_jobid);
IF SQL%NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('No such record');
END IF;
EXCEPTION
WHEN OTHERS THEN
sqle := SQLCODE;
sqlm := SQLERRM;
DBMS_OUTPUT.PUT_LINE('There is no job with this id that could be deleted');
DBMS_OUTPUT.PUT_LINE('Error Code ='||sqle||' Error message =' ||sqlm);
END;
當我執行這個程序的輸出是
No such record
PL/SQL procedure successfully complete.
然而,根據甲骨文PDF應該拋出一個異常,我應該真正得到我在異常進入的消息。
在不存在記錄更新時發生了同樣的情況。 請指教。謝謝
謝謝我只是想確認不丟失任何東西。 – MStp 2012-01-12 20:45:03