Friday, August 3, 2007

Azzerare campo contatore

. Friday, August 3, 2007

Per resettare il contenuto di una tabella ed in modo particolare il campo contatore che funge da colonna chiave è possibile procedere in questi modi:

  1. Uso del comando TRUNCATE TABLE,
  2. Uso del comando DELETE combinato con il comando DBCC CHECKIDENT

Nel primo caso:

TRUNCATE TABLE TestTable

Questo comando più rapido rispetto alla DELETE, non può essere usato nel caso di tabella referenziata da una foreign key o che partecipa in una vista indicizzata.
Inoltre dal punto di vista delle autorizzazioni bisogna appartenere ad uno dei seguenti ruoli:

  1. db_owner
  2. db_ddladmin
  3. sysadmin

Nel secondo caso:

DELETE FROM TestTable
DBCC CHECKIDENT('TestTable', reseed, 0)

Il comando DBCC CHECKIDENT serve ad impostare un nuovo valore di inizializzazione per la colonna identity.
Anche in questo caso per lanciare il comando servono le stesse autorizzazioni viste per la truncate.

0 commenti:

Post a Comment