この機能は、IDを使用して買い物客の注文総数を返すために使用されます。例外をスローしようとするたびに何も起こりません。それはヌル値を返します。たとえば、IDSHOPPER = 19はBB_BASKET内に存在しないため、lv_total_orders = 0の場合は例外をスローできると考えていましたが、まだNULL値を返していて、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