Sql SAP B1中如何生成唯一ID/序列号?
我想知道是否有人知道SAP B1(SAP Business One)如何生成它在各种表中使用的唯一主键。我所说的例子包括OCRD.DocEntry和OCPR.CntctCode。这些整数列“自动”递增 实现这一点的典型方法包括标识列(例如SQL Server)、序列(例如Oracle)或手动序列表,这些序列表包含一个以编程方式递增的Nextval。据我所知,B1没有对这些列使用任何这些技术。那么它是如何处理它们的呢 我正在查看的特定实例使用的是SQL Server数据库Sql SAP B1中如何生成唯一ID/序列号?,sql,sapb1,Sql,Sapb1,我想知道是否有人知道SAP B1(SAP Business One)如何生成它在各种表中使用的唯一主键。我所说的例子包括OCRD.DocEntry和OCPR.CntctCode。这些整数列“自动”递增 实现这一点的典型方法包括标识列(例如SQL Server)、序列(例如Oracle)或手动序列表,这些序列表包含一个以编程方式递增的Nextval。据我所知,B1没有对这些列使用任何这些技术。那么它是如何处理它们的呢 我正在查看的特定实例使用的是SQL Server数据库 是的,我很清楚,我不需要
是的,我很清楚,我不需要“知道”内部工作,不应该在数据库里胡闹,等等。我不知道他们是怎么做的,这让我很烦恼!如果有人能解释,我将不胜感激。SAPB1使用ONNM表生成新的唯一数字。添加文档时,会发生以下情况
- SQL事务开始
- 使用更新锁从ONNM表中查询下一个编号
- ONNM表格将更新为新编号(+1)
- 文档已添加
- SQL事务已提交
从[dbo].[ONNM]T0中选择T0.*,其中T0.[ObjectCode]=“23”SAP B1使用ONNM生成序列号 它为在其中注册的每个对象维护一个自动关键点。并根据自动键生成序列号。 对于每个添加事件,此自动关键点将增加+1