- - PR -
Oracle9iとSQLServerのUpdateSQLの違い?
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2005-04-21 14:56
shin_fmです。
UpdateSQLでOracle9iとSQLServerのUpdateの違いをちょっと 聞きたいのですが、SQLServerだとUpdateSQL文中にFrom句が 書けますよね?。Oracleだと書けないようなんですが、以下 の様なUpdateSQLをOracleで流す場合ってどうしたら良いん でしょう?。 ----- Update foo set foo.a = bar.a , foo.b = bar.b from bar where foo.c = bar.c ----- SQLServerだと上のSQL文は通ります。bar がSelectSQLであっ ても通った筈です。 OracleだとこういうUpdate文はストアドを使わないと駄目で すか?。 SQL文で済めばと思うんですが・・・ | ||||
|
投稿日時: 2005-04-21 23:01
いま環境がないので試せませんが、
Oracleの場合 こうだったような気が・・・ Update foo set (foo.a,foo.b) = ( SELECT bar.a,bar.b from bar where foo.c = bar.c ) ただし、foo.cとbar.cの結合により、1つのfoo.cの値に対して bar.a,bar.bが複数レコードにならない値の組み合わせになっていないと エラーになりますが、、、 環境がないので自信がないが確かこうだったと思う。 | ||||
|
投稿日時: 2005-04-25 18:29
shin_fmです。
返事が遅くなって済みません。
成る程、こう書くんですね、勉強になります。 現在使用中で試せませんので、DBが空いたら試してみたいと思います。 でわ。 | ||||
|
投稿日時: 2005-04-26 12:34
最近のDB製品はだいぶんSQL標準を取り入れてきているので、できるだけ製品に依存しない標準的な書き方を学ばれることをお勧めします。
| ||||
1
