- ベストアンサー
Oracle複数の表をもとにmerge文を実行
Oracle11gでSQL文の質問 merge文を3つ以上の表を使いたいのですが mergeの実行で表Aに表B,表Cの値の挿入はできますか? mergeは表Aと表Bの2つの表の間のやり取りだけのでしょうか? よろしくおねがいします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
雰囲気としては merge into table_A dest using ( select table_B.col1, table_C.col2 from table_B inner join table_C on table_B.col1 = teble_C.col1) src on (dest.col1 = src.col1) when matched then --更新処理 when not matched then --挿入処理 ; のような感じで出来ます。
その他の回答 (2)
- nora1962
- ベストアンサー率60% (431/717)
回答No.3
「表B,表Cの値の挿入」ここが少しよく分からない。 結合ならすでに提示されていらっしゃるやり方で。 それとも SELECT * FROM 表B UNION SELECT * FROM 表C を挿入したいのかな?
- taka451213
- ベストアンサー率47% (436/922)
回答No.1
こんばんは。 できますよ。 on句でsselsect文を書けばいいです・・・。 具体的に質問されていないので、回答も曖昧ですが、ご容赦ください・・・。
お礼
ありがとうございます。 結合した表全体を表別名で指定するのですね。