两个数据库的用户名密码一样,
该用户在SQL plus sheet登陆其中一个数据库后,想读取另一个数据库里该用户的数据表XX,请问SQL语句怎么写?
比如,insert into XXX(column1......) select * from (另一个数据库里的表XX),准确的该怎么写呢?
十万分的感谢!!!
可惜我没那多分,唉。
该用户在SQL plus sheet登陆其中一个数据库后,想读取另一个数据库里该用户的数据表XX,请问SQL语句怎么写?
比如,insert into XXX(column1......) select * from (另一个数据库里的表XX),准确的该怎么写呢?
十万分的感谢!!!
可惜我没那多分,唉。
insert into xxxx(...)
select *
from xx@lnkB;
这个dblink怎么在程序里用呢?
create database link test
connect to username identified by pwd
using ’server_name’;
这里的 server_name 是你在访问数据库上配置的 被访问 数据库的 服务名在程序中 sql = "insert into xxxx(...) select * from xx@test"
再执行 sql 语句,你试试
可以用来在两个数据库之间更新数据 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>
create synonym tableA for 另一用户.tableA;
--然后:
insert into tableB(column1......) select * from tableA;
--两个数据库的用户名密码一样, 有点不明白。有必要详细准确地给予介绍。