我想知道如何(如果可能)在Oracle服务器之间的第二个数据库链接上使用数据库链接。
我有这种情况:
这适用于服务器A:
SELECT * from TABLE@Server_B
这适用于Server_B:
SELECT * from TABLE@Server_C
这不适用于服务器A,但逻辑上是我想做的事情:
select * from TABLE@Server_B@Server_C
我知道我可以在服务器B上创建一个到服务器C上的表的视图,并在服务器A上使用它。但我还需要更新第三台服务器上的一些表。
有可能这样做吗?如果是,怎么样?
答案 0 :(得分:1)
您可以在服务器B上创建指向服务器C上的远程表的同义词。如果服务器C表被调用table_c
,那么在服务器B上您可以执行以下操作:
create synonym table_c_syn for table_c@server_c;
然后在服务器A上你可以这样做:
select * from table_c_syn@server_b;
您可以更新/插入,假设用于数据库链接的用户具有正确的权限:
insert into table_c_syn@server_b(cola, colb, ...) values (val1, val2, ...);