首页 > 解决方案 > 如何一次只允许一个用户在 SQL Server 表中执行插入触发器?

问题描述

我有一张如下表

customerid name total_salary basicpay cca tax    TransactionID
---------------------------------------------------------------
101         x    12000          5000  1000 1000    2018101
102         y    15000          6000  1200 1200    2018101

每当我插入一条新记录时,我total_salary都会使用插入触发器根据年份计算并创建唯一的顺序事务 ID。

在生产中,该表将同时被多个用户同时使用。当向表中插入记录时,它会创建重复的事务 ID,因为多个用户同时访问/插入表

交易id逻辑是:

Transaction ID= current year+record count in the current year+1

如何一次只允许一个用户对该表执行插入触发器,以便创建唯一的事务 ID?

标签: sql-server-2008concurrencytriggerssql-insertuniqueidentifier

解决方案


推荐阅读