プロが教える店舗&オフィスのセキュリティ対策術

Oracle11gでSQL文の質問
merge文を3つ以上の表を使いたいのですが

mergeの実行で表Aに表B,表Cの値の挿入はできますか?
mergeは表Aと表Bの2つの表の間のやり取りだけのでしょうか?

よろしくおねがいします

A 回答 (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
 --挿入処理
;
のような感じで出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
結合した表全体を表別名で指定するのですね。

お礼日時:2011/02/24 16:06

「表B,表Cの値の挿入」ここが少しよく分からない。


結合ならすでに提示されていらっしゃるやり方で。
それとも
SELECT * FROM 表B
UNION
SELECT * FROM 表C
を挿入したいのかな?
    • good
    • 0

こんばんは。



できますよ。
on句でsselsect文を書けばいいです・・・。
具体的に質問されていないので、回答も曖昧ですが、ご容赦ください・・・。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A