Alter column

lunedì 10 gennaio 2005 - 11.02

contiello Profilo | Senior Member

Salve ragazzi ho il seguente problema.
Ho una tabella che contiene un campo di tipo ntext.
Ho la necessità di doverlo modificare in un tipo varchar con una istruzione sql

Utilizzando l'alter table ...
ALTER TABLE MiaTabella ALTER COLUMN MioCampo [varchar] (8000) COLLATE Latin1_General_CI_AS

ottengo il seguente messaggio di errore:
---La colonna 'MioCampo' è 'ntext'. Impossibile modificarla.
Avviso: tabella 'MiaTabella' creata ma le dimensioni max. di riga (24100) sono superiori al numero max. di byte per riga (8060). Le operazioni INSERT o UPDATE su una riga della tabella avranno esito negativo se la lunghezza risultante è maggiore di 8060 byte.---

Se effettuo la stessa operazione con l'enterprise manager ottengo lo stesso risultato,però quest'ultimo mi da la possibilità di continuare, in quanto il messaggio d'errore è presentato come avviso. Mi avvisa che continuando potri perdere dei dati e mi da la possibilità di scegliere se continuare o meno


La mia domanda è questa :
Esiste un modo per forzare un instruzione sql di avviso???

Mi immagino che esista una cosa del genere..

ALTER TABLE MiaTabella ALTER COLUMN MioCampo [varchar] (8000) COLLATE Latin1_General_CI_AS; --FORCE--


Fatemi sapere ciao

Brainkiller Profilo | Guru

Non puoi prima fare un update accorciando la dimensione del campo ntext in modo che vada sotto gli 8000 e poi fai una ALTER per modificare il tipo di dato della colonna ?
Ora non ricordo ma ci sono istruzioni particolari per gestire campi NTEXT mi pare UPDATETEXT.

Cmq. mi informo ora. Immagino ci sia la possibilità di evitare che vengano presentati degli warning e proseguire nell'operazione.

ciao
david
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5