SQL 2005 Problema con variabile TABLE e IDENTITY

sabato 22 agosto 2009 - 00.55

ma_di Profilo | Junior Member

Ciao a tutti.
Sicuramente il mio problema è banale, ma mi sta facendo perdere le notti.
Ho una variabile TABLE così definita

declare @n_doppi table (id_num int IDENTITY(1,1),row integer,N integer)
Dopo varie INSERT ho bisogno di reinizializzarla, ovvero eliminare il contenuto e ripartire con un RESEED ad 1.
Usando TRUNCATE TABLE non funziona.
Eseguendo DELETE si cancella il contenuto ma IDENTITY non riparte da 1 ( prosegue dall'ultimo valore +1)
Eseguendo DBCC CHECKIDENT(n_doppi,RESEED,0) ottengo
Cannot find a table or object with the name "n_doppi". Check the system catalog.

Qualche anima pia può restituirmi il sonno?
Grazie

alx_81 Profilo | Guru

>Ciao a tutti.
ciao

>declare @n_doppi table (id_num int IDENTITY(1,1),row integer,N integer)
>Dopo varie INSERT ho bisogno di reinizializzarla, ovvero eliminare
>il contenuto e ripartire con un RESEED ad 1.
>Usando TRUNCATE TABLE non funziona.
Sì, truncate non è supportato per le table variables.

>Eseguendo DELETE si cancella il contenuto ma IDENTITY non riparte da 1 ( prosegue dall'ultimo valore +1)
Sì, normale comportamento di una delete

>Eseguendo DBCC CHECKIDENT(n_doppi,RESEED,0) ottengo
>Cannot find a table or object with the name "n_doppi". Check
>the system catalog.
Non è supportato nemmeno questo poichè la table var non è una tabella fisica

>Qualche anima pia può restituirmi il sonno?
puoi seguire due strade:

- usare le temp table, quelle #nometabella che sono comunque tabelle fisiche
- droppare e ricreare la @tablevar

>Grazie
di nulla!
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

ma_di Profilo | Junior Member

Grazie per l'aiuto...
In effetti volevo proprio avere una conferma di queste "limitazioni" sulle TABLE di SQL ( che dalla documentazione ufficiale non mi sembrano molto bene documentate).

Ciao e buon lavoro.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5