gpt4 book ai didi

sql - 在sql server中生成下一个序列号

转载 作者:行者123 更新时间:2023-12-02 05:22:50 26 4
gpt4 key购买 nike

我需要生成一个序列号用作主键(在遗留系统中)

我想知道以下解决方案是否会在竞争条件下出现并发问题。

CREATE TABLE SequenceGenerator
(
Sequence INT
)

INSERT INTO SequenceGenerator SELECT 0

这是我需要下一个序列号时将调用的存储过程

CREATE PROCEDURE GetNextSequence
AS
SET NOCOUNT ON
DECLARE @NextSequence INT
UPDATE SequenceGenerator SET
@NextSequence = Sequence,
Sequence = Sequence + 1
RETURN @NextSequence + 1

谢谢

最佳答案

是的。

有什么原因不能用身份字段(即:identity(1,1))代替吗?

如果你想使用上面的代码,你当然应该将它包装在一个可序列化的事务中并处理任何死锁情况。

关于sql - 在sql server中生成下一个序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13586527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com