开发者社区> 问答> 正文

基于行的柜台可以表现出像序列或身份?

序列和身份提供全球独一无二的递增值在所有会话和事务,无论隔离级别,他们不受事务回滚的影响。 有可能得到相同的行为和基于行的柜台,如果是这样,如何可以做到吗?

最大的问题似乎是执行柜台更新任何事务的范围之外,可能是开放的。 服务器链接可以自己调用自己的程序的“远程模式”拳通过任何当前活动事务隔离模式?

“远程”调用就可以这样调用一个简单的过程运行在自动提交模式:

create or alter procedure dbo.next_value (@id int, @result int = null output) as begin set nocount on; update dbo.RowBasedCounters set @result = counter_value = counter_value + 1 where counter_id = @id; return @result; end; 背景:我们需要完全相同的行为序列或身份的文件/传输计数器外部通信合作伙伴,对对方的三个独立的柜台。 然而,使用序列或身份并不可行,因为这些需要一个单独的数据库对象命名为每个计数器(即单例对象而不是键控),和在任何情况下有成千上万的伙伴,因此许多千计数器。

注: :这些计数器数字传输(EDI文件)和传输尝试沟通合作伙伴之间在德国医疗系统; 文件为每一对合作伙伴编号从1开始,每年转移尝试永远模编号1000,还为每一对合作伙伴。数字必须是连续的。编号方案由我们控制之外的标准和定义的。

我们使用MS SQL Server 2014。

展开
收起
SONGYiiiD 2019-12-05 23:03:37 1481 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
用户案例:寻因生物 立即下载
140-弱监督机器学...1506573734.pdf 立即下载
机器学习在恶意样本检测方面的实践之路 立即下载