Categories: SQL
Posted by
Christoph on
11/3/2009 6:12 PM |
Comments (0)
Ich einem aktuellen Projekt will ich gerade die Datenbank mal aufräumen, also alle relevanten Datensätze löschen.
Das geht mit TRUNCATE ja ganz gut, solange kein Foreign Key auf die Tabelle Zeigt. Dann kann man die Tabelle nur mittels DELETE * FROM leeren. Dabei werden jedoch NICHT die Anfangswerte der AutoInc Felder zurückgesetzt, so dass beim nächsten INSERT einfach vom alten Startwert hochgezählt wird. Man muss also händisch den Startwert zurücksetzen:
Wenn also Table1 eine Tabelle ohne auf Sie verweisende FKs ist, und Tabelle2 durch FKs gesperrt wird, kann folgendes die beiden Tabellen zurücksetzen:
truncate table Table1
delete from Table2
dbcc checkident(Table2,reseed,1)
Der Schlüssel wird also mittels dbcc checkident zurückgesetzt
62d72da6-e9ba-4dd1-9d4a-1d87c5b5eeb8|0|.0