• ベストアンサー
  • 困ってます

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

  • 質問No.1032218
  • 閲覧数8475
  • ありがとう数23
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 89% (60/67)

見ていただいてありがとうございます。

どなたか、方法がお分かりになる方、
ご教授いただけるよう宜しく御願いいたします。

ORACLEのSQL_PLUSを使用して以下のような
SQLを実行するとエラーとなります。

UPDATE テーブル名1 , テーブル名2
SET
テーブル名1.項目A = '2' ,
テーブル名1.項目B = '02' ,
テーブル名1.項目C = テーブル名2.項目A

当方、ACCESSとSQLサーバーでSQLの経験が若干あり、
そちらではこの記述方法で正常実行されるのですが、
オラクルでの記述方法がよくわかりません。
ネット等を利用し調べたのですが、打開策が見つからず、質問させていただこうと思った次第です。

どうか宜しく御願いいたします。

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

  • 回答No.2
  • ベストアンサー

ベストアンサー率 12% (3/24)

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

お礼率 89% (60/67)

解決しました、ありがとうございました。
自分で試したとき、副問い合わせも
試してみていたはずなのですが・・・、
何か記述を失敗していたみたいです。
ありがとうございました。
投稿日時:2004/10/07 15:39

その他の回答 (全2件)

  • 回答No.3

ベストアンサー率 47% (436/922)

こんにちは。

残念ながらORACLEでは、
UPDATE文でテーブルを複数指定できません・・・。

UPDATEをするテーブルが複数ならば、別々にやるしかないですね。

UPDATEするテーブルが1つで、項目に別テーブルの値を参照したい場合は、

SET ○○=(SELECT ×× FROM △△)

です・・・。
(^^ゞ
  • 回答No.1

ベストアンサー率 42% (139/329)

1:具体的に、どんなエラーが出ますか?
2: WHEREがないけど???
補足コメント
TTU006

お礼率 89% (60/67)

返答ありがとうございます。
1の質問に対してですが、
[ORA-00971 : SETキーワードがありません。]
というエラーが起きます。

あと、2の質問に対してですが、
WHERE句は特に必要ない気がするのですが、
必要なのでしょうか?。
当方にはちょっとわかりません。

以上、宜しく御願いいたします。
投稿日時:2004/10/07 15:27
お礼コメント
TTU006

お礼率 89% (60/67)

解決しましたありがとうございました。
投稿日時:2004/10/07 15:37
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ