Не можете да актуализирате колоната за самоличност.
SQL Server не позволява актуализиране на колоната за самоличност, за разлика от това, което можете да направите с други колони с израз за актуализиране.
Въпреки че има някои алтернативи за постигане на подобен вид изискване.
- Кога стойността на колоната за идентичност трябва да бъде актуализирана за нови записи
Използвайте DBCC CHECKIDENT който проверява текущата стойност на самоличността за таблицата и ако е необходимо, променя стойността на самоличността.
DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)
- Кога стойността на колоната за идентичност трябва да бъде актуализирана за съществуващи записи
Използвайте IDENTITY_INSERT който позволява вмъкване на изрични стойности в колоната за идентичност на таблица.
SET IDENTITY_INSERT YourTable {ON|OFF}
Пример:
-- Set Identity insert on so that value can be inserted into this column
SET IDENTITY_INSERT YourTable ON
GO
-- Insert the record which you want to update with new value in the identity column
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old row of which you have inserted a copy (above) (make sure about FK's)
DELETE FROM YourTable WHERE ID=3
GO
--Now set the idenetity_insert OFF to back to the previous track
SET IDENTITY_INSERT YourTable OFF