- - PR -
MERGE文の使い方について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-07-28 12:36
参照元記事「IF文のネスト地獄から抜け出せるMERGE文」の「データをそのまま使う」
のサンプルSQLでは http://www.atmarkit.co.jp/fdb/rensai/sqlclinic11/sqlclinic11_2.html#4 EMP表にEMPNO=9999のレコードが存在しなかったらINSERT、 存在したらUPDATEという意図で書かれているのか?と思うのですが、 EMPNO=9999のレコードが存在しなかった場合、結果セットは行を戻さないので、 when matchedもwhen not matchedも動作せず、よって、 update emp set job = 'Cons', mgr = '9999', sal = 20 where empno = 9999 で等価なSQLとなると思うのですが、その認識って正しいでしょうか? それとも、その他の条件、その他のレコードの関係で、何か動作が異なるので しょうか? [ メッセージ編集済み 編集者: ryoichi 編集日時 2006-07-28 12:37 ] |
|
投稿日時: 2006-07-28 12:59
>update emp set job = 'Cons', mgr = '9999', sal = 20 where empno = 9999
>で等価なSQLとなると思うのですが、その認識って正しいでしょうか? その通りだと思います。 merge into scott.emp e using (select いろいろ from dual) u にしないとダメだと思いますね |
1