通过运行动态查询

时间:2017-06-26 19:46:11

标签: oracle oracle11g toad

我想通过运行动态查询插入表中。我怎样才能实现它。以下就是我的尝试。

VARIABLE a REFCURSOR;

DECLARE
 PROCEDURE Pr_Get_VARIANCE_REPORT (p_billing_system_id   IN  NUMBER ,
                                        p_Sorting IN Varchar2,
                                    po_Cur_Out    OUT   SYS_REFCURSOR)
  IS
       v_query1 varchar2(3000);


v_query1 := 'Select Plan_No, Plan_name from TB_BISBILL 
             where Billing_System_ID = p_billing_system_id ORDER BY '
             || p_Sorting ;

SELECT PLAN_NO, Plan_name 
 bulk collect into  l_invoices 
from (I need to insert by executing the v_query1).

我该怎么办呢。

这里,因为排序是由用户提供的,所以<我必须按用户提供的任何列名来订购。

1 个答案:

答案 0 :(得分:4)

您可以简单地写一下:

execute immediate v_query1 bulk collect into l_invoices;