有可能是权限问题。
试试看grant select any table , insert any table to system
最初由 greenapple 发布
[B]目的:用system用户登陆数据,将用户A下表T1中的数据,导入到用户B下的表T2中
做法:这里用户A和B不确定,通过参数传入,动态构造sql语句,最后用execute immediate执行
user_Avarchar2(30);
User_Bvarchar2(30);
insertsql varchar2(32000);
user_A:='U1';
user_B:='U2';
insertsql:='insert into '||user_A||'.T1 (F1,F2,F3) '||
' Select F1,F2,F3 From '||User_B||'.T2 ';
execute immediate insertsql;
-----------------------------------
结果提示ora-00942:表或视图不存在,但是将上面动态组成的
sql "insert into u1.t1(F1,F2,F3) select F1,F3,F3 from u2.T2"直接在
system用户下执行确可以成功,这是为什么?
怎么才能动态执行上面动态组成的sql ? [/B]
|