Преобразование генератора столбца идентификаторов в hilo: для чего следует инициализировать "next_hi"?
Я конвертирую класс, который использует генератор Identity, в тот, который использует hilo. Я также использую одну таблицу с отдельной строкой для каждой сущности:
EntityId (table)
- EntityName
- NextHigh
Старая таблица:
Patients (table)
- Id (identity)
Новая таблица:
PatientRecord (table)
- Id
Чтобы сохранить целостность данных, я просто использую существующий Patients.Id в качестве нового PatientRecord.Id:
insert into PatientRecord (Id)
select Id from Patients
И создать EntityId
запись:
insert into EntityId values ('PatientRecord', ??)
где ??
это следующий привет значение. Какое значение я должен использовать здесь? По умолчанию инициализация столбца будет 1. Я просто использую это, или я должен использовать что-то вроде select MAX(Id) from PatientRecord
?
1 ответ
Next_hi подобен сеансовому ключу, используемому для умножения для генерации идентификатора (id), поэтому вы можете вставить все, что захотите, например, 1, 2 или 10, каждый пользователь увеличивает значение next_hi и с его помощью он генерирует все идентификаторы до некоторого максимального значения, а затем снова запрашивает еще один next_hi, увеличивая его... с этой стратегией все идентичности уникальны... и они могут быть созданы локально
Существует ли практичный способ перехода от столбцов идентификации к ключам HILO?
http://fabiomaulo.blogspot.com/2009/02/nh210-generators-behavior-explained.html