Oracle的MERGE未能添加數據
Oracle的MERGE未能添加數據
使用Oracle的MERGE同表關聯未能添加數據問題
第一次接觸Oracle的MERGE 的更新或插入數據這個語法,上網了解了下寫法,
然后就動手應用在自己的項目里,下面有個例子:
MERGE INTO Table1 t1
USING ( select id,count from Table1 where id='001') t2 on (t1.id=t2.id)
WHEN MATCHED THEN UPDATE SET t1.count=t1.count+1
WHEN NOT MATCHED THEN INSERT (count) VALUES (1)
測試了下,結果發現不存在時添加不了數據,
后來上網找了原來是同表關聯時如果不符合條件,using的數據集為null,
就添加不了數據了,必須用count()函數
修改后:
MERGE INTO Table1 t1
USING ( select count(*) from Table1 where id='001') t2 on (t1.id=t2.id)
WHEN MATCHED THEN UPDATE SET t1.count=t1.count+1
WHEN NOT MATCHED THEN INSERT (count) VALUES (1)
時間:2012-08-24 責任編輯:admin
相關文章
無相關信息