Modifica 2

giovedì 28 ottobre 2004 - 11.43

contiello Profilo | Senior Member

Ciao ragazzi ho un altro problema
ho una tabella con un campo testo definito come varchar 20
ora devo modificarlo in un varchar 10

ALTER TABLE nome_tabella ALTER COLUMN nome_campo Text (10)

con la seguente istruzione ottengo il seguente errore:
5 - Dati di tipo string o binary che verrebbero troncati.
L'istruzione è stata interrotta.

come posso forzare l'istruzione?? Per me non è un errore!

contiello Profilo | Senior Member

è vero che bisognerebbe avere ben chiaro il disegno del db prima di sviluppare ma capita a volte di dover modificare in corso d'opera il db
Detto ciò il fatto è che mi aspetterei un comportamento coerente da parte di sql server ... ovvero mi permette ad esempio di trasformare un campo di tipo float in uno di tipo intero ,perdendo così la parte decimale e non mi permette di ridimensionare un campo di testo???
Poi da Entrprise Manager di Sql Server questa operazione si puo' fare ovviamente il db ti avverte che potrsti perdere dei dati e quindi chiede una ulteriore conferma .Da ciò la mia domanda non è che per caso oltre alla sintassi normale alter table... c'è bisgono di una istruzione di forzatura??? tipo FORCE!

Non so ...

grazie

LudovicoVan Profilo | Junior Member

>> ho una tabella con un campo testo definito come varchar 20
>> ora devo modificarlo in un varchar 10
>> ALTER TABLE nome_tabella ALTER COLUMN nome_campo Text (10)

In varchar o text? Il tipo text temo che non sia supportato. Per maggiori dettagli, puoi dare un'occhiata nell'help a "ALTER TABLE" (T-SQL).

L'alternativa è creare una colonna ex novo, spostare i dati dalla colonna vecchia e rimuoverla...

Ciao. -LV

P.S. Questo è il mio primo messaggio nel forum... CIAO A TUTTI!
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