Azzerare un id contatore

lunedì 23 ottobre 2006 - 15.29

trinity Profilo | Guru

In sql server 2005 ho creato una tabella con un id contatore. ovviamente quando eseguo una delete per svuotare la tabella questo id dovrebbe partire di nuovo da 1 il suo conteggio..c'è un'opzione da attivare su sql server 2005 oppure una riga di codice da scrivere?

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

alx_81 Profilo | Guru

>In sql server 2005 ho creato una tabella con un id contatore.
>ovviamente quando eseguo una delete per svuotare la tabella questo
>id dovrebbe partire di nuovo da 1 il suo conteggio..c'è un'opzione
>da attivare su sql server 2005 oppure una riga di codice da scrivere?
>

se utilizzi
"truncate table [nometabella]"

il counter identity ti ritorna a partire dal primo valore definito come inizio dell'identità.
Attenzione però, la tabella non deve essere legata con chiavi esterne (foreign key) con altre tabelle (figlie). Altrimenti la truncate non è possibile.

In quel caso, con grande attenzione, si può utilizzare un comando DBCC.
DBCC CHECKIDENT ('Nometabella',RESEED,<valore precedente al primo indice da ottenere>)

Ciao!

>Ciao
>Cirillo Fabio
>www.wondernet.biz
>fabio@wondernet.biz
>http://blogs.dotnethell.it/fabiocirillo/

Alx81 =)

http://blogs.dotnethell.it/suxstellino

trinity Profilo | Guru

si ma io utilizzo per svuotare la tabella il comando delete in sql non va bene? e poi ho alcune tabelle collegate tra loro con indici

Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/

alx_81 Profilo | Guru

se ti serve loggare la cancellazione nel transaction log, ti serve la delete. Se non ti interessa questo, puoi usare la truncate..
Ripeto, quest'ultima non è utilizzabile con riferimenti foreign key..
ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5