想生成自定义唯一键并同时处理多个请求

问题描述 投票:1回答:1

我在sql数据库服务器中有一个表,其中包含一个varchar列,并使用linq to entity以programattically方式将其维护为自定义唯一键。我从数据库中分离并进行分割,增量和保存,但我想知道当多个请求同时出现时会发生什么,这可能是我的逻辑失败或将由sql server处理。

-----------------
Id      |  Code
-----------------
1       | BA0001
2       | BA0002
3       | BA0003
sql entity-framework linq-to-entities
1个回答
1
投票

当多个请求同时出现时会发生什么

您将获得PK违规。

在SQL Server中,您可以使用Sequence对象生成如下所示的键:

create sequence seq_t
start with 1
increment by 1

create table t
(
  id varchar(20) default concat('BA',format((next value for seq_t),'0000')) primary key, 
  a int
)
© www.soinside.com 2019 - 2024. All rights reserved.