首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >合并vs删除并插入select

合并vs删除并插入select
EN

Stack Overflow用户
提问于 2020-01-29 13:10:08
回答 1查看 4.4K关注 0票数 0

我在看MERGE语句,我不明白它的意义。

如果我错了,请纠正我,但基本上,它使目标表成为源表的相同副本。

所以,从一个表中删除记录,简单地插入.从其他行中选择所有行?

在合并的效率方面,我是不是缺少了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-29 14:09:24

Merge语句不会使目标表成为源表的副本,这部分内容是错误的。

它为编写条件DML语句( insert / update / delete )提供了一种更短的方法,方法是允许您编写一条语句,该语句将执行上述语句之一(或任何组合)。

然而,尽管Merge是作为一条语句编写的,但在Server后面,它实际上是作为一系列语句执行的--其中的每一部分都是一条语句--这可能会给未预期的用户带来很多问题。

about发表了一篇题为对Server的MERGE语句要小心的文章--在Server中使用Merge语句之前,您应该彻底阅读它。

大多数情况下,Merge用于执行"upsert“--意思是--如果存在更新记录,或者插入(如果不存在)。在这个问题的回答中描述了server中更好、更安全的“重新插入”模式,我强烈建议在任何可能的时候在Merge上使用该模式。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59967848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档