ストアド関数内に単純な SELECT ステートメントを埋め込もうとしていますが、これらのエラーがスローされているようです:
SQL ステートメントは無視されます (9 行目)
と
左括弧がありません (12 行目)
まず、select ステートメントを無視するのはなぜですか? 2 つ目は、12 行目に括弧がないため、そのエラーがどのようにスローされるのかさえ理解できません。
それでも、ここに私の保存された関数コードがあります:
CREATE OR REPLACE FUNCTION tax_calc_sf
(p_basketid IN NUMBER)
RETURN NUMBER
IS
lv_taxamt_num NUMBER;
lv_subtotal_num bb_basket.subtotal%TYPE;
lv_taxrate_num bb_tax.taxrate%TYPE;
BEGIN
SELECT bb.subtotal, bt.taxrate
INTO lv_subtotal_num, lv_taxrate_num
FROM bb_basket bb
JOIN bb_tax bt USING bt.state = bb.shipstate
WHERE bb.idbasket = p_basketid;
lv_taxamt_num := lv_subtotal_num*lv_taxrate_num;
RETURN lv_taxamt_num;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN 0;
END;
/