我们需要使用从游标加载来移动多个表。但是源表和目标表中的数字列是不一样的。
表结构也可以改变,所以我们需要相同的是动态的。
该声明如下所示。
declare cur1 cursor for select col1,col2, col3 from test1;
load from cur1 of cursor insert into test2 (col1,col2, col3);
我需要使用execute immediate从过程中调用它,以便我们可以在查询中追加列。列列表在变量 V_COL_LIST 中,因此我需要为过程执行的查询如下所示。
execute immediate ('declare cur1 cursor for select '||V_COL_LIST ||' from test1');
execute immediate ('load from cur1 of cursor insert into test2 ('||V_COL_LIST ||')');
但是 Execute Immediate 不适用于上述查询。有什么解决办法吗?
想通了使用 ADMIN_CMD