两个数据库的用户名密码一样,
该用户在SQL plus sheet登陆其中一个数据库后,想读取另一个数据库里该用户的数据表XX,请问SQL语句怎么写?
比如,insert into XXX(column1......) select * from (另一个数据库里的表XX),准确的该怎么写呢?
十万分的感谢!!!
可惜我没那多分,唉。

解决方案 »

  1.   

    insert into XXX(column1......) select * from user2.XX where ......;
      

  2.   

    要用dblink, 创建一个dblink连接到B库,假设此dblink名字叫lnkBA库上执行:
    insert into xxxx(...)
       select * 
         from xx@lnkB;
      

  3.   

    至于dblink怎么创建,请自行google
      

  4.   

    可是我这是在c#程序里执行的啊,连接上其中一个数据库,插入从另一个没连接的数据库里某表的数据。
    这个dblink怎么在程序里用呢?
      

  5.   

    一样用的吧,只要你在数据上创建好dlink:
    create database link test 
    connect to username identified by pwd 
    using ’server_name’; 
    这里的 server_name 是你在访问数据库上配置的 被访问 数据库的 服务名在程序中   sql = "insert into xxxx(...) select * from xx@test" 
    再执行 sql 语句,你试试
      

  6.   

    sqlplus的copy命令 
    可以用来在两个数据库之间更新数据 SQL> help copy  COPY
     ----  Copies data from a query to a table in the same or another
     database. COPY supports CHAR, DATE, LONG, NUMBER and VARCHAR2.  COPY {FROM database | TO database | FROM database TO database}
                {APPEND|CREATE|INSERT|REPLACE} destination_table
                [(column, column, column, ...)] USING query  where database has the following syntax:
         username[/password]@connect_identifier SQL> drop table t1; 表已删除。 SQL> drop table t2; 表已删除。 SQL> create table t1 as select * from all_objects where rownum<10; 表已创建。 SQL> select count(*) from t1;   COUNT(*)
    ----------
             9 SQL> copy from scott/oracle@ora11 to scott/oracle@ora11 create t2 --这里你要是插入的话可以append或insert,自己试试吧          using select * from t1 where rownum<5; 数组提取/绑定大小为 15。(数组大小为 15)
    将在完成时提交。(提交的副本为 0)
    最大 long 大小为 5000。(long 为 5000)
    表 T2 已创建。 4 行选自 scott@ora11。
       4 行已插入 T2。
       4 行已提交至 T2 (位于 scott@ora11)。 SQL> select count(*) from t2;   COUNT(*)
    ----------
             4 SQL> 
      

  7.   

    --先建一个同义词:
    create synonym tableA for 另一用户.tableA;
    --然后:
    insert into tableB(column1......) select * from tableA;
    --两个数据库的用户名密码一样, 有点不明白。有必要详细准确地给予介绍。