ORACLE11g update和merge into 的区别

2025-03-11 05:03:11
推荐回答(1个)
回答1:

一,共同点

1.都可以做更新操作

二、不同点

1.merge可以同时做插入(not matched的时候)

2.merge不会强制要求不被更新的表具有唯一或者主键约束

例如merge a using b on (...), 这里不会要求b具有唯一约束或者主键约束。当然肯定还是要求b只能返回一条记录。

很多update语句调整为等效语句的时候会遇到这种强制约束的问题,但merge不存在。

3.在某些情况下,merge效率更高。

这是因为写法导致的,并不是说merge本身比update高效。例如很多对于sql不是很精通的人员可能会这样写一个