0
此函數用於返回購物者使用其ID的訂單總數。每次我嘗試拋出一個異常時,都沒有任何反應。它會返回一個空值。例如,IDSHOPPER = 19在BB_BASKET中不存在,所以我認爲如果lv_total_orders = 0,我可以拋出一個異常,但它仍然返回一個空值,並且DBMS_OUTPUT.PUT_LINE不會在輸出中顯示任何內容。任何人都可以建議如果我要使用BB_BASAKET中不存在的IDSHOPPER如何拋出此函數的異常?這是爲我班的作業,但除了需要的例外之外,我已完成了大部分工作。我無法找到任何暗示如何執行例外的建議。在PL/SQL中可以將此EXCEPTION添加到此功能中?
CREATE OR REPLACE FUNCTION NUM_PURCH_SF
(p_shopper IN NUMBER)
RETURN NUMBER
AS
lv_total_orders NUMBER(3);
BEGIN
SELECT SUM(ORDERPLACED)
INTO lv_total_orders
FROM BB_BASKET
WHERE IDSHOPPER = p_shopper
AND ORDERPLACED = 1;
RETURN lv_total_orders;
END;
SELECT NUM_PURCH_SF(IDSHOPPER)
FROM BB_SHOPPER
WHERE IDSHOPPER = 23;
[引發異常明確(https://docs.oracle.com/database/122/LNPLS/plsql-error-handling.htm#LNPLS00705) – miracle173