У меня есть таблица в MS SQL 2005. И я хотел бы сделать:
update Table
set ID = ID + 1
where ID > 5
И проблема в том, что ID является первичным ключом, и когда я делаю это, у меня появляется ошибка, потому что, когда этот запрос приходит в строку с ID 8, он пытается изменить значение на 9, но в этой таблице есть старая строка значение 9 и есть нарушение ограничения.
Поэтому я хотел бы контролировать запрос на обновление, чтобы убедиться, что он выполняется в порядке убывания.
Так что нет для ID = 1,2,3,4 и т. Д., А скорее ID = 98574 (или еще), а затем 98573, 98572 и т. Д. В этой ситуации нарушения ограничений не будет.
Так как же контролировать порядок выполнения обновления? Есть ли простой способ сделать это программно?