try:
exp ..
imp ... fromuser=.. touser=..如果是在一个库的话,只传输表的话
  select 'create table '||table_name||' as select * from user1.'||table_name from dba_tables where owner='user1';然后执行这些sql

解决方案 »

  1.   

    create table不是新建表了吗?
      

  2.   

    没注意,那就改成insert into吧
     select 'insert into '||table_name||' select * from user1.'||table_name||';' from
    dba_tables where owner='user1';
      

  3.   

    我通常会采用zmgowin提到的第二种方法,这样便于查找错误.因为两个用户的表结构有可能不一样.
    用INSERT的话,也不会生成多余的新表.
      

  4.   

    select 'insert into '||table_name||' select * from user1.'||table_name||';' from
    dba_tables where owner='user1';
    ================================================
    我一般也是用这种方法,简单容易理解
      

  5.   

    select 'insert into '||table_name||' select * from user1.'||table_name||';' from dba_tables where owner='user1';
    就这么简单
    还有问题的话,给[email protected]写信就OK了
      

  6.   

    我看了一下,'insert into '||table_name||' select * from user1.'||table_name||';这一段好像是真正插入数据的语句,外面的好象是一条检索语句。
    于是我分步试了一下,单运行插入语句'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';
      

  7.   

    单运行插入语句'insert into '||table_name||' select * from user1.'||table_name||'::
    这是要构造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
      

  8.   

    如果是不同数据库,如果都是ORACLE可以通过建立DBLINK来实现