SQL Server 2008 +
У меня есть таблица с автоинкрементным столбцом, который я хотел бы увеличить не только при вставке, но и при обновлении. Этот столбец не является первичным ключом, но есть также первичный ключ, который представляет собой GUID, созданный автоматически с помощью newid ().
Насколько я могу судить, есть два способа сделать это.
1.) Удалите существующую строку и вставьте новую строку с идентичными значениями (плюс любые обновления).
или
2.) Обновите существующую строку и используйте следующее, чтобы получить «следующее» значение идентификатора:
IDENT_CURRENT('myTable') + IDENT_INCR('myTable')
В любом случае я вынужден разрешить вставку идентификатора. (С опцией 1, потому что первичный ключ для таблицы должен оставаться прежним, а с опцией 2, потому что я обновляю столбец автоинкремента определенным значением.) Я не уверен, каковы последствия блокировки / производительности это.
Есть мысли по этому поводу? Есть ли лучший подход? Целью здесь является сохранение постоянно увеличивающегося набора целочисленных значений в столбце всякий раз, когда строка вставляется или обновляется.