SQL Server 中的 NEXT VALUE FOR @Sequence 的工作方式是不是与 C# 中的 Interlocked.Increment() 相同? [复制]

Posted

技术标签:

【中文标题】SQL Server 中的 NEXT VALUE FOR @Sequence 的工作方式是不是与 C# 中的 Interlocked.Increment() 相同? [复制]【英文标题】:Does NEXT VALUE FOR @Sequence in SQL Server work in the same way as Interlocked.Increment() in C#? [duplicate]SQL Server 中的 NEXT VALUE FOR @Sequence 的工作方式是否与 C# 中的 Interlocked.Increment() 相同? [复制] 【发布时间】:2021-10-12 14:14:21 【问题描述】:

我想知道 SQL Server 的 sequence 对象是否在增加其内部计数器时是原子的,因为它在 Interlocked.Increment() 方法的帮助下发生。谁知道?

【问题讨论】:

这能回答你的问题吗? Is a single SQL Server statement atomic and consistent? 和 Atomic retrieving sequential range from SEQUENCE 【参考方案1】:

我想知道 SQL Server 的序列对象在 Interlocked.Increment() 方法的帮助下增加其内部计数器是否是原子的。

是的。 SEQUENCE 对象保证不会多次创建相同的 NEXT VALUE,即使多个会话同时请求 NEXT VALUE。

【讨论】:

以上是关于SQL Server 中的 NEXT VALUE FOR @Sequence 的工作方式是不是与 C# 中的 Interlocked.Increment() 相同? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

GROUP BY 中的 SQL Server 2014 LAST_VALUE

使用 JSON_VALUE 访问 SQL Server 2016 中的 JSON 数组

为啥我不能将 DBNull.Value 插入到 sql server 2005 中的可为空的图像字段中?

MS SQL server中的isnull函数

SQL Server 中的 XQuery 对零值进行 SUM

sql server中的变量问题