おすすめのモーニング・朝食メニューを教えて!

Sybaseを使っています。
 aaa
 bbb
の2つのDBを使っています(オーナーはともにxxx)。
 DB名aaaには、a_tblが
 DB名bbbには、b_tblがあるものとします。

ここで、例えばa_tblを検索したい場合、
use aaa
go
select * from xxx.a_tbl
go

で検索結果は得られると思いますが、
b_tblとのJOINを行いたい場合は
use bbbの宣言も必要だと思うのですが、どうすれば可能でしょうか?

また、あらかじめ、異なるDBにまたがるa_tblとb_tblを結合させたVIEWを
作成することは可能なのでしょうか?
可能であればその方法を教えてください。

A 回答 (3件)

異なるサーバーの表でJOINを行うには


「コンポーネント統合サービス」
を使います。Ver11.9 からデフォルトで使えます。
コンポーネント統合サービスを使うと違うサーバのDBが
自分のDBにあるテーブルのように扱えます。

○パラメータ enable cis を 1 に変更
○相手サーバを登録(interfaces,sql.ini&sp_addserver)
○こっちのログイン名と相手サーバ上のログイン名を対応させる(sp_addexternlogin)
○プロキシ・テーブルを作成(create existing table)

Component Integration Services User's Guide

に詳しく書かれていると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2003/04/22 11:59

DBの名前を from に含めます。



select * from
db1.xxx.a_tbl a, db2.xxx.b_tbl b
where a.key = b.key

VIEW でも同じようにDB名からのテーブル名を
使えば大丈夫です。
まずはリファレンスマニュアルをしらべてみよう。
製品にCD-ROMで付属しています。
なければダウンロードもできます。

参考URL:http://sybooks.sybase.com/asg1250j.html
    • good
    • 0
この回答へのお礼

マニュアルがダウンロードできるの知りませんでした。。
ありがとうございます。
DBサーバーが異なる場合の記述がcreate viewの説明欄には見当たらなかったのですが、ご存知でしたらキーワードだけでも教えていただけないでしょうか。

お礼日時:2003/04/10 10:06

 


こっち↓の2つはほったらかしですか?

[ トランザクション中に別のトランザクションは開始できますか? ]
http://oshiete1.goo.ne.jp/kotaeru.php3?q=496981

[ 凝ったSQL文なのですが・・・ ]
http://oshiete1.goo.ne.jp/kotaeru.php3?q=500467


失礼ですが、あなたは人間として社会生活上必要最低限のマナーを身に付ける方が先決です。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=496981,http://oshiete1.goo.ne.jp/kotaeru.php3?q=500467

この回答への補足

もう少し待とうと思っていたのですが締め切りました。
書き込みありがとうございました。

補足日時:2003/04/10 10:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報