2012-02-21 18 views
13

Ho creato un database in SQL Server con un paio di tabelle. Ho eseguito alcuni test e ora sono pronto per distribuire la mia soluzione, il problema è che ci sono tutti i tipi di dati nelle tabelle. Voglio eliminare ogni riga di tutte le tabelle create con i miei test e rimettere a zero le chiavi primarie. Ho provato a eliminare che non ripristina l'indice delle chiavi primarie e rilascia semplicemente distrutto la tabella.Dati tabella vuota e ripristino colonne IDENTITY

risposta

23

È possibile provare TRUNCATE TABLE che elimina tutte le righe e reimposta i semi di identità. Tuttavia dovrai eseguire in un determinato ordine se hai chiavi esterne. In tal caso sarà necessario eliminare prima le tabelle figlio o eliminare i vincoli e aggiungerli nuovamente.

Si noti inoltre che se si utilizza IDENTITY non ci si deve aspettare che i numeri significino qualcosa o che vengano generati per sempre senza spazi vuoti. Non ti importa se inizia da 1 a 22 o 65 - puoi spiegare perché i valori di identità devono essere ripristinati?

+0

Una risposta tardiva al vostro counterquestion - siamo nella stessa identica situazione come il poster e il nostro caso d'uso è che il client ha fornito un foglio di calcolo Excel per l'importazione in un database SQL (tabella per foglio, riga per record) dove hanno usato una colonna ID in ogni foglio per mettere in relazione i record dal foglio A al B a C. Gli ID stessi non hanno senso, ma le relazioni tra loro sono importanti. – codinghands

Problemi correlati