Oracle存在則更新,不存在則插入應用-merge into 的小坑

Oracle存在則更新,不存在則插入應用-merge into 的小坑

語法是:MERGE INTO table_name alias1
USING (table|view|sub_query) alias2
ON (join condition)
WHEN MATCHED THEN
UPDATE table_name
SET col1 = col_val1,
col2 = col_val2
WHEN NOT MATCHED THEN
INSERT (column_list) VALUES (column_values);
但是實際應用中

MERGE INTO windreadrank T1 USING (SELECT ‘#(objectId)’ AS OBJECT_ID,’#(type)’ AS TYPE FROM dual) T2
ON(T1.OBJECT_ID=T2.OBJECT_ID and T1.TYPE=T2.TYPE)
WHEN MATCHED THEN UPDATE SET T1.READ_COUNT = T1.READ_COUNT+1
WHEN NOT MATCHED THEN INSERT VALUES(’#(objectId)’, 1,’#(type)’)

INSERT 處可以不用添加插入列表字段,不然報錯, not enough values

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章