Oracle11g 在FORALL语句中执行立即数

Oracle11g 在FORALL语句中执行立即数,oracle11g,Oracle11g,我正在尝试以下方法 FORALL l_loop_cntr IN 1..l_count EXECUTE IMMEDIATE ' INSERT INTO ' ||c_table || ' VALUES l_NE_BILL_REPORTS_table (:1) ' USING l_loop_cntr; 我的表名是动态的 但它给出了错误 过程PL_OWNER.TEST_BULK的编译错误 错误:PLS-00435:绑定中没有批量的DML语句不能在FORALL中使用 第27行 文本:使用l|U循环执行立

我正在尝试以下方法

FORALL l_loop_cntr IN 1..l_count
EXECUTE IMMEDIATE ' INSERT INTO ' ||c_table || ' VALUES l_NE_BILL_REPORTS_table (:1) ' USING
l_loop_cntr;
我的表名是动态的

但它给出了错误 过程PL_OWNER.TEST_BULK的编译错误

错误:PLS-00435:绑定中没有批量的DML语句不能在FORALL中使用 第27行
文本:使用l|U循环执行立即“插入到”| | c| |表格|值l|NE|U账单|报告U表格:1”

您需要在using子句中引用集合;索引本身并不意味着什么。您尚未显示集合的名称,因此请将实际名称替换为col;我假设l_计数与col.last相同:

FORALL l_loop_cntr IN my_col.first..my_col.last
  EXECUTE IMMEDIATE 'INSERT INTO ' || c_table
    || ' VALUES l_NE_BILL_REPORTS_table (:1)'
  USING my_col(l_loop_cntr);