假设你想把a用户的table2数据导入到b用户的table1首先授权 在a用户执行grant select on TABLE2 to b;导数据 INSERT INTO b.TABLE1 SELECT * FROM a.TABLE2; COMMIT;
查询某用户下的当前用户能访问的表 select table_name from all_tables where owner='用户';
备份为什么不用rman或imp,exp等方式用存储过程类似这样 create or replace procedure p_synctables as cursor cursor_t is select table_name from user_tables where table_name='A'; vTable varchar2(100); vSql varchar2(200); begin open cursor_t; loop fetch cursor_t into vTable; exit when cursor_t%notfound; vSql := ' insert into zxf2.'||vTable||' select * from '||vTable; execute immediate vSql; Commit; end loop; close cursor_t; end;
vSql := ' insert into zxf2.'||vTable||' select * from '||vTable; 上面这句话对吗怎么有两个'||vTable 还有先删除这个表怎么做啊。 能不能再具体写一下,谢谢了,在ORACLE里的。 我是想删除原有表,再把另一个用户的数据全部插入过来。
高手: 我执行下面这句话时出错,因为我执行的表是另一个用户里面的,请问怎么解决 vSql := ' insert into zxf2.'||vTable||' select * from '||vTable; execute immediate vSql; 急啊!
在a用户执行grant select on TABLE2 to b;导数据
INSERT INTO b.TABLE1
SELECT * FROM a.TABLE2;
COMMIT;
select table_name from all_tables where owner='用户';
create or replace procedure p_synctables
as
cursor cursor_t is select table_name from user_tables where table_name='A';
vTable varchar2(100);
vSql varchar2(200);
begin
open cursor_t;
loop
fetch cursor_t into vTable;
exit when cursor_t%notfound;
vSql := ' insert into zxf2.'||vTable||' select * from '||vTable;
execute immediate vSql;
Commit;
end loop;
close cursor_t;
end;
上面这句话对吗怎么有两个'||vTable 还有先删除这个表怎么做啊。
能不能再具体写一下,谢谢了,在ORACLE里的。 我是想删除原有表,再把另一个用户的数据全部插入过来。
我执行下面这句话时出错,因为我执行的表是另一个用户里面的,请问怎么解决
vSql := ' insert into zxf2.'||vTable||' select * from '||vTable;
execute immediate vSql; 急啊!