Само една идея, ако имате 2 колони "идентичност", тогава те със сигурност ще бъдат "в синхрон" - ако не точно същата стойност, тогава ще се различават с постоянна стойност. Ако е така, тогава защо не добавите колоната „втора самоличност“ като COMPUTED
колона
, което компенсира основната самоличност? Или тук логиката ми е грешна?
Редактиране:Според коментара на Мартин, имайте предвид, че вашето изчисление може да се наложи да бъде N * id + C, където N е увеличението, а C отместването/делта - извинете моята ръждясала математика.
Например:
ALTER TABLE MyTable ADD OtherIdentity AS Id * 2 + 1;
Редактиране Обърнете внимание, че за Sql 2012 и по-нови вече можете да използвате независима последователност за създаване на две или повече независимо увеличаващи се колони в една и съща таблица.
Забележка :OP е редактирал първоначалното изискване, за да включва последователности за възстановяване (отбелязвайки, че колоните за самоличност в SQL не възстановяват използвани идентификатори, след като бъдат изтрити).