DB1とDB2のふたつのデータベースがあり、DB1にはtbl1とtbl2、DB2にはtbl3とtbl4があるとします。


DB1上でselect文を使って、DB2上のtbl3を参照してtbl1と結合する、みたいなことは可能なのでしょうか?

また可能なRDBMSはなんでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/11/06 12:03:10
  • 終了:2006/11/13 12:06:24

回答(3件)

id:kazz7 No.1

kazz7回答回数446ベストアンサー獲得回数142006/11/06 12:14:42

ポイント27pt

Oracleならデータベースリンク(DBリンク)という機能を使うことで可能です。

(多くのDBMSでこの同等の機能があると思いますが……)

例えば接続先をDB1として、DB2に対するDBリンク(例えばDB2link)を作成しておきます。

その上で、以下のようにローカルのテーブルも、DBリンク先のテーブルも透過的に扱うことが出来ます。

select t1.ID, t1,NAME, t3.DATA1
  from tbl1 t1,
       tbl3@DB2link t3
 where t1.ID = t3.ID
 order by 1
;


■参考

Oracle・Tips集 - データベースリンクについて

http://ash.jp/db/ora_tips.htm

id:ton__ton No.2

ton__ton回答回数85ベストアンサー獲得回数32006/11/06 12:15:36

ポイント27pt

DBリンクができるDBMSなら簡単に出来ると思います。

(Oracleとか)

http://ash.jp/db/ora_tips.htm

id:b-wind No.3

b-wind回答回数3344ベストアンサー獲得回数4402006/11/06 12:38:36

ポイント26pt

DBLink という機能を実装をしているDBMSがいくつかあります。

http://oshiete.nikkeibp.co.jp/kotaeru.php3?qid=1933009

自分が知っている限りでは、Oracle と PostgreSQL にその機能があります。


MySQL5 でも同様の機能が実装されたようですが、まだ実績に欠ける印象があります。

http://blog.ohgaki.net/index.php/yohgaki/2005/10/28/mysql5a_oa_o...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません