执行 Proc PLS-00103 时出错 预期出现以下情况之一时遇到符号"="



我在尝试运行给定过程时遇到了此错误。

CREATE OR REPLACE PROCEDURE comm_rept (p_manager_sales_pos_id NUMBER)
IS
v_sales_in_dollar NUMBER;
t_TBL_sales_pos_id t_sales_rep.sales_pos_id%rowtype;
t_TBL_commission   t_sales_rep.commission%rowtype;
v_sales_pos_id   t_TBL_sales_pos_id;
v_commission     t_TBL_commission;
CURSOR cur_sales IS
SELECT sales_pos_id,ROUND(((commission*100)/SALES_IN_DOLLAR),2) FROM t_sales WHERE sales_pos_id IN 
            (SELECT sales_pos_id FROM t_sales_rep WHERE manager_sales_pos_id = p_manager_sales_pos_id); 
BEGIN
   OPEN cur_sales;
   FETCH  cur_sales BULK COLLECT INTO v_sales_pos_id,v_commission;
   FORALL i in 1..v_count() = 0
   LOOP
   INSERT INTO t_commission_report (MGR_ID,SALES_POS_ID,COMMISSION) VALUES (p_manager_sales_pos_id,v_sales_pos_id(i),v_commission(i));
END LOOP;
CLOSE cur_sales;
END comm_rept;
/

帮帮我,我不想执行它,但想找出确切的错误。让我知道找出错误的方法。

您的FORALL语法错误;它应该如下所示,没有LOOP

FORALL I IN 1 .. SOMETHING
    INSERT INTO SOME_TABLE(...)
    VALUES ...

最新更新