- ベストアンサー
DBをまたいで更新
現在、testDB1とtestDB2というDBが存在します。 それで、testDB1のtable.idとtestDB2のtable2.idを SELECT文で比較して、同じidの場合はtestDB2のtable2.dataに 1という値を格納したいと思っています。 それで、DBをまたいで更新するときの記述が分からず ネットで検索したのですが、うまくヒットしませんでした。 そもそもDBをまたいで問い合わせや更新等はできないのでしょうか? できない場合、代替の方法があったら教えて頂けますでしょうか。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#45409
回答No.2
スキーマ分けがいいと思いますが、現状そのような設計だとすると使いこなせない可能性も高いので・・・、もう一つ簡単な代替方法を。 データをプログラム側に渡してしまえば、その中で比較処理は出来ます。具体的には、table.idを配列で取るなり、他にも処理があるのであればオブジェクトで取るなりして、table2.idに対し、in句かループ文でupdateしていけばいいです。 ただし件数が多い場合はかなり処理が重くなる可能性があります。やる場合はデータ件数をきちんと考慮してくださいね。
その他の回答 (1)
- mittan_nya
- ベストアンサー率85% (6/7)
回答No.1
DBをまたぐということはデータベースリンクでしょうか? だとしたら、PostgreSQLはデータベースリンクをサポートしていません。 もし、testDB1とtestDB2が同一サーバ内だとすれば データベースで区分けするのではなく スキーマ単位で分けた方がよいかと思います。 スキーマについては 参考URLを参照してください