Mam bazę danych MS SQL 2005 z tabelą Test
z kolumną ID
. ID
to kolumna tożsamości.Jak programowo zmienić wartości kolumny tożsamości?
Mam wiersze w tej tabeli i wszystkie z nich mają przypisaną wartość autoinkrementacji.
Teraz chciałbym zmienić każdy identyfikator w tej tabeli tak:
ID = ID + 1
Ale kiedy to zrobić pojawia się błąd:
Cannot update identity column 'ID'.
próbowałam to:
ALTER TABLE Test NOCHECK CONSTRAINT ALL
set identity_insert ID ON
Ale to nie rozwiązuje problemu.
Potrzebuję ustawić tożsamość dla tej kolumny, ale od czasu do czasu muszę również zmieniać wartości. Więc moim pytaniem jest, jak wykonać to zadanie.
ustawienie to zadziała tylko podczas wstawiania danych, a nie podczas aktualizacji. Instrukcja UPDATE nadal się nie powiedzie. –
Aby zaktualizować, należy usunąć i ponownie wstawić. Nie ma innego wyjścia. – ashes999
@MartinSmith Twoje rozwiązanie wydaje się zbyt długie.Możliwość zrobienia tego w dwóch etapach (wyłączenie tożsamości, usunięcie/wstawienie, włączenie tożsamości) jest znacznie bardziej efektywne. – ashes999