try:
exp ..
imp ... fromuser=.. touser=..如果是在一个库的话,只传输表的话
select 'create table '||table_name||' as select * from user1.'||table_name from dba_tables where owner='user1';然后执行这些sql
exp ..
imp ... fromuser=.. touser=..如果是在一个库的话,只传输表的话
select 'create table '||table_name||' as select * from user1.'||table_name from dba_tables where owner='user1';然后执行这些sql
select 'insert into '||table_name||' select * from user1.'||table_name||';' from
dba_tables where owner='user1';
用INSERT的话,也不会生成多余的新表.
dba_tables where owner='user1';
================================================
我一般也是用这种方法,简单容易理解
就这么简单
还有问题的话,给[email protected]写信就OK了
于是我分步试了一下,单运行插入语句'insert into '||table_name||' select * from user1.'||table_name||'时,告诉我user1.'||table_name||'不存在。假设我现在以A用户登陆sqlplus,要把B用户的数据倒入A用户,我的sql语句是这么写的:insert into table_name select * from B.table_name;怎么修正?
另外整个语句中的dba_tables是什么意思?整个语句我是不是该这么写:
select insert into table_name select * from B.table_name; from dba_tables where owner='A';
这是要构造SQL语句,而不能单独去运行,是在SQLPLUS下构造的sql>spool a.txt
sql>select 'insert into '||table_name||' select * from user1.'||table_name||';' from dba_tables where owner='user1';
sql>spool offinsert into table_name select * from B.table_name;怎么修正?没有访问表的权限,所以提示 B.table_name不存在你要给A用户访问 B.table_name的权限
在B用户
grant select on table_name to user1