Этот код показывает вам, как это можно сделать и с какими проблемами вы можете столкнуться, если вам нужно, чтобы ID был уникальным значением в таблице.Есть еще ситуации, когда вы можете получить дубликаты.Можно предположить, что два пользователя добавляют строки в таблицу одновременно.
declare @T table(Postcode varchar(5), Active bit, ID bigint)
insert into @T (Postcode, Active, ID)
select '1111', 1, count(*)+1
from @T
insert into @T (Postcode, Active, ID)
select '2222', 0, count(*)+1
from @T
delete from @T where Postcode = '1111'
insert into @T (Postcode, Active, ID)
select '3333', 0, count(*)+1
from @T
select *
from @T
Результат:
Postcode Active ID
-------- ------ --------------------
3333 0 2
2222 0 2
Если вам нужны уникальные значения, вы должны использовать идентификатор столбец вместо.Возможно, даже сделайте его первичным ключом или хотя бы добавьте уникальное ограничение на столбец идентификатора.