Language: Deutsch Programming Language: SQL Published by: Thomas Last Update: 4/13/2006 Views: 1610
Wenn man "normale" Identities und keine Guids als IDs benutzt, erhält man, wenn die Anwendung fertig für die Auslieferung ist, schnell recht hohe IDs - da die ja fortlaufend, meist bei 1 beginnend, bereits während der Erstellung durch das Anlegen von X Testdatensätzen nach oben getrieben wurden. In Access ist die Sache einfach - einfach Datenbank komprimieren und reparieren, und schon sind Autowerte dort wieder bei 0. Am SQL Server muss man eine System-Sproc benutzen, siehe Code. Das funktioniert am SQL Server 2000 wie am SQL Server 2005, und sollte das folglich auch mit Express tun.
das müsste doch auch mit truncate gehen, oder? delete from test1 truncate table test1 dann beginnen die ids wieder von vorne
Der Code ist nicht die Beste Lösung. @@identity funktioniert nicht in der Darstellung. Es Zeigt die zuletzt erstellte IDENTITY Global an!!! Dadurch können gravierende Fehler auftreten! Hierfür ist nur eine Lösung richtig! Zeigt aktuelle IDENTITY einer Tabelle an: select IDENT_CURRENT('Table') Ändert den IDENTITY Wert der Tabelle: DBCC CHECKIDENT('Table', RESEED, 300000) Zeigt den neuen IDENTITY Wert an: select IDENT_CURRENT('Table')
Name *
Email (won't be displayed) *
Website
Comment *
Security Code *