Correggere tabella

venerdì 09 giugno 2006 - 10.30

lordwaizard Profilo | Senior Member

Ho una tabella:
CREATE TABLE [dbo].[piano] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[d1] [int] NOT NULL ,
[d2] [int] NULL ,
[d3] [nvarchar] (500) COLLATE Latin1_General_CI_AS NOT NULL ,
[d4] [nvarchar] (50) COLLATE Latin1_General_CI_AS NULL
) ON [PRIMARY]
GO

Dovrei inserire delle righe specifacando l'id.
Ovviamente questo non è possbile.
Ho modificato id, togliendo l'identità e sono riuscito ad esegure l'operazione.
Poi ho riportato così la identità incrementale a 1.

DOMANDA:
E' possibile riportare la tabella nello stato precedente direttamente da una query? dando un comando che mi cambi l'identità da
Identità = Si
Incrementi identità = 1
a
Indentità = No

E vicersa?

Scusate per la domanda da principiante.
Grazie
Davide

Cteniza Profilo | Guru

Puoi aggiornare i records impostando il tuo id e poi correggere il progressivo del contatore.
Per sql server:
DBCC CHECKIDENT (mytable, RESEED, 100)
-- 100 è il nuovo numero di progressivo

lbenaglia Profilo | Guru

>DOMANDA:
>E' possibile riportare la tabella nello stato precedente direttamente
>da una query? dando un comando che mi cambi l'identità da
>Identità = Si
>Incrementi identità = 1
>a
>Indentità = No
>
>E vicersa?

No, non è possibile aggiungere/rimuovere la proprietà IDENTITY ad/da una colonna.
Ad ogni modo se sporadicamente hai la necessità di forzare il valore della colonna IDENTITY durante un inserimento puoi ricorrere al comando SET IDENTITY_INSERT:

SET IDENTITY_INSERT dbo.utenti ON; GO INSERT INTO dbo.utenti (id_user, userid, password) VALUES(25, 'admin', 'azienda'); GO

Trovi tutti i dettagli sui Books Online:

"IDENTITY (Property)"
http://msdn.microsoft.com/library/en-us/tsqlref/ts_ia-iz_3iex.asp

"SET IDENTITY_INSERT"
http://msdn.microsoft.com/library/en-us/tsqlref/ts_set-set_7zas.asp

>Scusate per la domanda da principiante.
>Grazie
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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