箱庭ハーブblog

7年目プログラマの趣味の小部屋

OracleのMerge文は使わないほうが無難

merge文を、UsingソースをDualで使用しましたとさ

 MERGE INTO ...
 USING (SELECT ... FROM DUAL) INPUT
   ON (... AND ... AND ...)
 WHEN MATCHED THEN UPDATE SET ...
 WHEN NOT MATCHED THEN INSERT ( ... );

「0行マージされました」

!?

!!?

!????!???!

確かに
・Usingソースの列に、サブクエリがいる。それは、結果無しNULLを返している
・ON句の結合条件に、Usingソース側がNULL

見たいな奇天烈なUsingソースではありますが、
ソース行自体は存在するので、絶対1行以上はマージしてほしいところ。
(条件にヒットすればUpdateするはずで、しなければInsertされるはずなので)


これ、Oracleのバグじゃないですか。
これだから、Merge文は信用できない。
コメント
PAGETOPへ

コメント送信

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード

パスワードを入れておかないと、コメントの再編集ができません!

フリーエリア

takemori
Twitter : @takemori_kondo

1. Unityと戯れてます
2. Cake3は劣化じゃないRails

iOS
coming soon...

Windows
Html Editor - Nazuna
Managed DirectX サンプル集

beginning since
2006.08.17
renewaled on
2011.06.03

最新コメント

[2013/06/14 ミューネ]
[2012/08/30 ノートPC]