Ciao Sergio,
Purtroppo non esiste una soluzione "magica" :-)
Vai di ALTER TABLE...ALTER COLUMN, avendo cura di rimuovere indici e
constraint sulle colonne coinvolte.
> Grazie in anticipo a chi vorrà aiutarmi.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://social.microsoft.com/Forums/it-IT/sqlserverit
Per facilitare quello che ti ha indicato Lorenzo puoi ricorrere a questo
script
DECLARE cursore CURSOR FOR
SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH,
IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE DATA_TYPE LIKE '%char%'
AND COLLATION_NAME = 'SQL_Latin1_General_CP1_CI_AS'
DECLARE @tname sysname,
@cname sysname,
@dt varchar(50),
@length varchar(5),
@sql VARCHAR(500),
@isnull VARCHAR(10)
OPEN cursore
FETCH NEXT FROM cursore INTO @tname, @cname, @dt, @length, @isnull
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = 'ALTER TABLE ' + @tname + ' ALTER COLUMN ' + @cname + ' ' + @dt
+ '(' + @length + ') ' + ' SQL_Latin1_General_CP1_CI_AI ' +
CASE @isnull WHEN 'YES' THEN 'NULL ' ELSE 'NOT NULL ' END + CHAR(13) + '
GO'
PRINT @sql
FETCH NEXT FROM cursore INTO @tname, @cname, @dt, @length, @isnull
END
CLOSE cursore
DEALLOCATE cursore
> Grazie in anticipo a chi vorrà aiutarmi.
> Sergio
Bye
Luca Bianchi
[cute]
> Luca Bianchi
Grandioso!
Grazie davvero,
Sergio