Rimozione Identity

giovedì 04 maggio 2006 - 16.28

gianp Profilo | Junior Member

Io ho delle tabelle di sql Server che hanno il campo chiave di tipo int con la proprietà Identity impostata a true.
Vorrei creare un script che mi modifichi il suddetto campo in modo che il campo resti sempre lo stesso tranne per la proprietà identity, che vorrei impostare a false.
Qualcuno sa darmi qualche dritta???

Ciao a tutti.

lbenaglia Profilo | Guru

>Io ho delle tabelle di sql Server che hanno il campo chiave di
>tipo int con la proprietà Identity impostata a true.
>Vorrei creare un script che mi modifichi il suddetto campo in
>modo che il campo resti sempre lo stesso tranne per la proprietà
>identity, che vorrei impostare a false.
>Qualcuno sa darmi qualche dritta???

Ciao gianp,

Purtroppo non è possibile aggiungere/rimuovere la proprietà IDENTITY da una colonna in una tabella esistente ricorrendo ad un singolo comando T-SQL.
Prova a definire una nuova Trace con il SQL Profiler, apri Enterprise Manager e modifica la proprietà IDENTITY di una tabella.
Noterai che dietro le quinte EM crea una tabella Tmp_NomeTabella con la nuova impostazione della proprietà, vi copia tutte le righe dalla tabella
originale, rimuove la tabella originale ed infine rinomina la tabella Tmp_NomeTabella in NomeTabella mediante la stored procedure di sistema sp_rename.
Quindi o ti affidi a Enterprise Manager oppure esegui le singole operazioni a mano da Query Analyzer.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

gianp Profilo | Junior Member

OK, l'avevo intuito ma speravo di avere torto.
Ciao e grazie.
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