1

我正在将使用身份生成器的类转换为使用 hilo 的类。我还使用一个表,每个实体都有不同的行:

EntityId (table)
 - EntityName
 - NextHigh

旧表:

Patients (table)
 - Id (identity)

新表:

PatientRecord (table)
 - Id 

为了保持数据完整性,我只使用现有的 PatientRecord.Id 作为新的 PatientRecord.Id:

insert into PatientRecord (Id) 
select Id from Patients

并创建一个EntityId条目:

insert into EntityId values ('PatientRecord', ??)

??一个 hi 值在哪里。我应该在这里使用什么值?默认情况下,初始化列将是 1。我只是使用它,还是应该使用类似的东西select MAX(Id) from PatientRecord

4

1 回答 1

1

next_hi 就像一个会话密钥,用于生成身份(id)的乘法,因此您可以插入任何您想要的内容,例如 1 或 2 或 10 每个用户递增 next_hi 并随之生成所有身份,直到某个最大值然后再次通过增加它来请求另一个 next_hi...使用这种策略,所有身份都是唯一的...并且它们可以在本地生成

是否有从身份列迁移到 hilo 键的实用方法?

http://fabiomaulo.blogspot.com/2009/02/nh210-generators-behavior-explained.html

于 2012-09-13T15:00:47.437 回答