最近在程序开发中遇到了操作数据库的部分,一般的惯性思维就是,先查表select,如果木有就insert,如果有的话就update,而我的一个同事给出了另一种做法,就是直接上来就update,不管存在与否,如果不存在的话,update应该会插入一条。他的解释是这样的话,效率比较高,想问问各位大牛们,哪种方法综合考虑比较合适呢?
------解决方案--------------------
用Merge into oralce 直接能用!
http://blog.csdn.net/yole_grise/article/details/15337973
------解决方案--------------------
update不会插入新数据。
2楼的方法可以用
------解决方案--------------------
"如果不存在的话,update应该会插入一条"oracle没有这样规定阿。建议如楼所说用MERGE INTO,经典的update 和 insert
------解决方案--------------------
MERGE INTO+1
------解决方案--------------------
还是第一次听说update条件不存在的时候会插入一条新数据。
------解决方案--------------------
这个经常有啊
------解决方案--------------------
Oracle只有merge into才支持这种语义.
等待Oracle下一个版本吧.
可能会有这样的语法:
insert into on existing update .....