1
CREATE OR REPLACE Function fun_Find_Staff_Name(v_staffid IN NUMBER)
RETURN VARCHAR2
IS
staff_name VARCHAR2(60);
CURSOR c_staff IS
SELECT staff_firstName || ' ' || staff_lastName
into staff_name
FROM staff
WHERE staff_id = v_staffid;
BEGIN
OPEN c_staff;
FETCH c_staff INTO staff_name;
CLOSE c_staff;
RETURN staff_name;
END;
該函數需要一個staff_id並返回相應的員工姓名。如果用戶輸入無效的ID並顯示錯誤消息,我想處理該異常?我在哪裏添加異常塊?SQL如何處理用戶定義函數中的異常?
SET serveroutput ON;
DECLARE
v_staff_ID NUMBER := &StaffID;
v_message VARCHAR2(100);
BEGIN
v_message := fun_Find_Staff_Name(v_staff_ID);
dbms_output.put_line(v_message);
END;
我用這個anonyomus塊來檢查函數是否正常工作。