【发布时间】:2020-10-28 16:53:32
【问题描述】:
如果我对此立即执行,我没有问题:
execute immediate 'insert into tab_aantal2 (table_name,count_1,value_1) select table_name,count_1,value_1 from(select ''CUSTOMERS'' table_name,count(1) count_1,CUSTOMERID||''~''||NAME||''~''||ADDRESS
value_1 from PJO.CUSTOMERS group by CUSTOMERID||''~''||NAME||''~''||ADDRESS having count(1) > 1)';
这个字符串存储在一个表中,看起来像:
'insert into tab_aantal2 (table_name,count_1,value_1)
select table_name,count_1,value_1 from(select ''CUSTOMERS'' table_name,count(1) count_1,CUSTOMERID||''~''||NAME||''~''||ADDRESS value_1
from PJO.CUSTOMERS
group by CUSTOMERID||''~''||NAME||''~''||ADDRESS
having count(1) > 1)'
如果我将字符串放在变量中,DBMS_OUTPUT.PUT_LINE 会返回这个确切的字符串,但是当我尝试执行变量时,我得到“无效的 SQL 语句”,所以我认为它一定是带引号的东西,但我就是想不通出来。 我最终会尝试遍历数百个表(在不同的表上运行上述)
非常感谢任何帮助。
【问题讨论】: