Solo un'idea, se hai 2 colonne "identità", sicuramente sarebbero "sincronizzate" - se non esattamente lo stesso valore, differirebbero di un valore costante. In tal caso, perché non aggiungere la colonna "seconda identità" come COMPUTED
colonna
, che compensa l'identità primaria? O la mia logica è sbagliata qui?
Modifica:come da commento di Martin, nota che il tuo calcolo potrebbe dover essere N * id + C, dove N è l'incremento e C l'offset / delta - scusa i miei calcoli arrugginiti.
Ad esempio:
ALTER TABLE MyTable ADD OtherIdentity AS Id * 2 + 1;
Modifica Tieni presente che per Sql 2012 e versioni successive, ora puoi utilizzare una sequenza indipendente per creare due o più colonne a incremento indipendente nella stessa tabella.
Nota :OP ha modificato il requisito originale per includere le sequenze di recupero (notando che le colonne di identità in SQL non recuperano gli ID usati una volta eliminati).