【问题标题】:SQL Server Merge statement issueSQL Server 合并语句问题
【发布时间】:2010-04-28 14:16:20
【问题描述】:

我正在学习和使用 SQL Server 2008 新的 Merge 语句,merge 语句将逐行比较/操作源表和目标表(“操作”是指在匹配或不匹配条件时执行的操作)。我的问题是整个合并过程是一个事务还是每个行比较/操作都是一个事务?

如果有任何文件可以证明这一点。

提前致谢, 乔治

【问题讨论】:

    标签: tsql sql-server-2008


    【解决方案1】:

    合并语句是基于集合的操作,因此将对整个匹配行集合进行操作。

    它非常类似于 UPDATE 或 DELETE。如果您愿意(并且听起来确实如此),您可以使用 BEGIN TRANCOMMIT 将其包装起来以实现数据完整性。

    【讨论】:

    • 那么,您的意思是整个合并将在一个事务中进行?如果是,有任何文件(例如 MSDN)来证明吗?到目前为止我还没有找到这样的文件。
    • 谢谢!看了你的回复,我还是一头雾水。你能澄清一下是整个合并语句充当事务还是合并语句中的每个行操作都充当事务?
    • MERGE 语句是原子的,它要么全部失败,要么全部成功,不存在处理一半的情况。
    • 你好SqlACID,你有什么文件可以证明吗?
    • @George2,我找不到文档。或许你可以在 MSDN 论坛发帖goo.gl/hgl3
    猜你喜欢
    • 2011-07-05
    • 2013-05-11
    • 2011-02-08
    • 1970-01-01
    • 2011-08-28
    • 2010-11-28
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    相关资源
    最近更新 更多