Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Zurücksetzen des Primärschlüssels ohne Löschen der Abschneidetabelle

Sie können die IDENTITY-Spalte nicht aktualisieren, daher ist DELETE/INSERT die einzige Möglichkeit. Sie können die IDENTITY-Spalte neu setzen und die Daten wie folgt neu erstellen:

DBCC CHECKIDENT ('dbo.tbl',RESEED,0);    
INSERT INTO dbo.tbl (Some_Other_Col)
SELECT Some_Other_Col
FROM (DELETE FROM tbl OUTPUT deleted.*) d;

Das setzt voraus, dass es keine Fremdschlüssel gibt, die auf diese Daten verweisen.