• ベストアンサー

オラクルのUPDATEで複数テーブル

見ていただいてありがとうございます。 どなたか、方法がお分かりになる方、 ご教授いただけるよう宜しく御願いいたします。 ORACLEのSQL_PLUSを使用して以下のような SQLを実行するとエラーとなります。 UPDATE テーブル名1 , テーブル名2 SET テーブル名1.項目A = '2' , テーブル名1.項目B = '02' , テーブル名1.項目C = テーブル名2.項目A 当方、ACCESSとSQLサーバーでSQLの経験が若干あり、 そちらではこの記述方法で正常実行されるのですが、 オラクルでの記述方法がよくわかりません。 ネット等を利用し調べたのですが、打開策が見つからず、質問させていただこうと思った次第です。 どうか宜しく御願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • beast666
  • ベストアンサー率12% (3/24)
回答No.2

update table1 set A = '2',B = '02' C = (select A from table2 ) where節は適宜つけて下さい。 例えば update table1 set A = '2',B = '02' C = (select A from table2 where A = '3') where B = '01' って感じで。

TTU006
質問者

お礼

解決しました、ありがとうございました。 自分で試したとき、副問い合わせも 試してみていたはずなのですが・・・、 何か記述を失敗していたみたいです。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.3

こんにちは。 残念ながらORACLEでは、 UPDATE文でテーブルを複数指定できません・・・。 UPDATEをするテーブルが複数ならば、別々にやるしかないですね。 UPDATEするテーブルが1つで、項目に別テーブルの値を参照したい場合は、 SET ○○=(SELECT ×× FROM △△) です・・・。 (^^ゞ

すると、全ての回答が全文表示されます。
回答No.1

1:具体的に、どんなエラーが出ますか? 2: WHEREがないけど???

TTU006
質問者

お礼

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

TTU006
質問者

補足

返答ありがとうございます。 1の質問に対してですが、 [ORA-00971 : SETキーワードがありません。] というエラーが起きます。 あと、2の質問に対してですが、 WHERE句は特に必要ない気がするのですが、 必要なのでしょうか?。 当方にはちょっとわかりません。 以上、宜しく御願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A