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号时,它必须给我一个例外条件我们如何添加
答案 0 :(得分: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
在此功能中没有位置。)
答案 1 :(得分:0)
我会对上面的代码做一点修改,因为函数会返回一个数字,你可以选择返回一个表示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
。
只是我对它的看法。