Gewoon een idee, als je 2 "identiteits"-kolommen hebt, dan zouden ze zeker 'in sync' zijn - zo niet precies dezelfde waarde, dan zouden ze verschillen met een constante waarde. Zo ja, waarom voegt u dan de kolom "tweede identiteit" niet toe als een COMPUTED
kolom
, die de primaire identiteit compenseert? Of is mijn logica hier gebrekkig?
Bewerken:volgens de opmerking van Martin moet je er rekening mee houden dat je berekening mogelijk N * id + C moet zijn, waarbij N de toename is en C de offset / delta - excuseer mijn roestige wiskunde.
Bijvoorbeeld:
ALTER TABLE MyTable ADD OtherIdentity AS Id * 2 + 1;
Bewerken Houd er rekening mee dat u voor Sql 2012 en later een onafhankelijke reeks kunt gebruiken om twee of meer onafhankelijk oplopende kolommen in dezelfde tabel te maken.
Opmerking :OP heeft de oorspronkelijke vereiste aangepast om terugvorderingsreeksen op te nemen (merk op dat identiteitskolommen in SQL geen gebruikte ID's terugvorderen nadat ze zijn verwijderd).