sql - 是否有必要在事务中封装单个合并语句(带有插入、删除和更新)?

标签 sql sql-server-2008

我现在无法测试它并自己获得解决方案,而且我还没有在 MSDN 和 google 上找到相关信息。

我被问到是否需要将在给定表中插入、删除和更新记录的合并语句封装在事务中(如果在插入完成后发生故障,例如在更新期间),或者任何操作失败整个合并也失败了。

如果我们包含一个事务,也许不会有什么坏处,但出于好奇,我们希望了解更多关于合并内部的信息。

最佳答案

SQL Server 中的任何语句本身就是一个事务。

也就是说,它是原子的:一切都成功或一切都失败

显式事务将用于将多个单原子语句分组为一个大原子事务。

这就是 MERGE 的美妙之处:不需要显式事务和 3 个单独的语句。

关于sql - 是否有必要在事务中封装单个合并语句(带有插入、删除和更新)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5117288/

相关文章:

php - 刷新迁移时出现外键约束错误 - Laravel

c# - SQL在C#中的表中允许null

sql-server-2008 - SQL - 将 int 转换为 double

sql-server-2008 - SSIS:您如何在另一个包的脚本组件中重用脚本?

sql - 更改 SQL Management Studio 2008 的默认保存位置

tsql - 对象 'Driver' 的 INSERT 权限被拒绝

mysql - SQL Server 中多个子级的 XML 读取

sql - "#"LIKE 模式字符在 Access 365 中的 SQL 中不起作用? Jet SQL 引擎中的新错误?

mysql - 加快 MySQL SUM + JOINS 的速度

sql - 如何运行 "Today' s"date from 12 :00am to 11:59PM 的查询