нужно подключиться к двум разным БД из sqlplus - PullRequest
1 голос
/ 31 августа 2010

Мне нужно взять информацию из двух разных баз данных.

select * from TABLE_ONDB2 where column_on_db2 in ( select column_on_db1 from TABLE_ONDB1 );

Проблема в том, что оба находятся на разных экземплярах БД, поэтому я не могу понять, как поместить имена таблиц и столбцов и т. Д.

Я надеюсь, что мойвопрос ясен.

1 Ответ

5 голосов
/ 31 августа 2010

Я бы попробовал сделать это с помощью ссылки на базу данных:

http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/ds_concepts002.htm

Это, однако, не функция SQL * Plus. Он работает, устанавливая соединение с DB2 на DB1 (база данных делает это).

Затем вы можете запросить обе таблицы из DB2 с помощью нотации имени @ db-link. например.,

select *
  from TABLE_ONDB2
 where column_on_db2
    in (select column_on_db1 from TABLE_ONDB1@DB_LINK_NAME);
                                             ^^^^^^^^^^^^^

Преимущество заключается в том, что вы можете обращаться к таблице различными способами, в том числе в виде объединения.

...