SQL 服务器 : Atomic Trigger

标签 sql sql-server triggers atomic transaction-isolation

我有两个简单的问题。

  1. 默认情况下 SqlServer 触发器是原子的吗?
  2. 如果没有如何实现?

环境简单。我有两个用户(我们称他们为 UserA 和 UserB)与数据库有两个不同的连接。两个连接同时处于事件状态。

当 UserA 在特定表中插入一行时,将触发一个触发器(我们称之为 TriggerAtomic)。我需要确保当触发 TriggerAtomic 时,UserB 在 TriggerAtomic 完成之前无法执行任何操作。显然,在 TriggerAtomic 完成之前,不能执行其他触发器、函数、过程...。

最佳答案

围绕 INSERT 语句放置一个事务,然后再提交。 SQL 触发器在触发它们的语句的事务中运行。

关于SQL 服务器 : Atomic Trigger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25664912/

相关文章:

mysql - 更新更新触发器中的其他行

mysql - 奇怪的 MySQL 触发器行为

mysql - 2 个来自同一个表的外键

SQL Server 索引 - LIKE 查询的任何改进?

sql - 如何在 SQL Server 中选择 XML 列的顶级属性?

sql-server - SQL Server 2008 - 从插入触发器执行 sp_start_job - 作业是否异步运行?

sql - 在这种特定情况下如何显示空行?

sql - 如何在 SQL Server 中为数字添加逗号?

sql - 如何按升序排列表格的行并同时保存表格?

sql - 如何使用 Microsoft SQL Server Management Studio 为数据库中的所有触发器生成脚本