2016-07-06 50 views
0
FUNCTION XX_GETSAL(N_ENO NUMBER) RETURN NUMBER IS 
    N_SALARY NUMBER; 
    BEGIN 
    SELECT SAL INTO N_SALARY FROM XX_TBEMP WHERE ENO = N_ENO; 
    RETURN N_SALARY; 
    COMMIT; 
    END; 
在這個函數

我想即添加特殊情況時,我給了ENO數量是無法在它給我異常condtion我們怎樣才能添加如何爲函數添加異常?

回答

0

你可以做表這(例如):

FUNCTION XX_GETSAL(N_ENO NUMBER) RETURN NUMBER IS 
    N_SALARY NUMBER; 
    BEGIN 
    SELECT SAL INTO N_SALARY FROM XX_TBEMP WHERE ENO = N_ENO; 
    RETURN N_SALARY; 
    EXCEPTION 
    WHEN NO_DATA_FOUND THEN 
     RETURN NULL; 
    END; 

(NB COMMIT在這個功能的地方。)

0

我會作出輕微修改上面的代碼中,由於函數返回一個數字,你可以選擇到r創建一個表示NO_DATA_FOUND條件的數字(例如我選擇了-1):

CREATE OR REPLACE FUNCTION XX_GETSAL(N_ENO NUMBER) RETURN NUMBER IS 
    N_SALARY NUMBER; 
    BEGIN 
    SELECT SAL INTO N_SALARY FROM XX_TBEMP WHERE ENO = N_ENO; 
    RETURN N_SALARY; 
    EXCEPTION 
    WHEN NO_DATA_FOUND THEN 
     RETURN -1; 
END; 

我在代碼中添加了CREATE OR REPLACE。 只是我的承擔。