将批量收集数据复制到 refcursor

Copy the Bulk collect data to refcursor

我正在使用批量收集并想将数据复制到 refcursor 以便我可以 return 过程中的数据。以下是我正在尝试的

 PROCEDURE Pr_Get_Perf_Div_By_Paydate (
                                         p_Cur_Out        OUT SYS_REFCURSOR
                                     )
       IS
 type ab_rec is record (
       Plan_No number
       , Draft_Invoice_No varchar(20)
    );
 type ab_nt is table of ab_rec;
   l_invoices ab_nt;

BEGIN
SELECT Plan_No,Draft_Invoice_No
        bulk collect into  l_invoices        
  FROM tb_Invoice

Open p_Cur_Out for
   Select * from TABLE (CAST (l_invoices AS ty_pa_output_tbl_t));

END;

Select 语句出错。我不确定那里出了什么问题。请指教?

我没有使用 Bulk Collect,而是使用了 temp Global Table 并且它起作用了。我不确定为什么我无法将数据从 Bulk Collect 传输到 Cursor。