>pensavo ad una procedura che agisse facendo un alter table con
>il risultato di queste due query ma non so da che parte iniziare.
Ciao,
Tieni presente che nei fatti il discorso non è così semplice.
Prima di poter modificare il data type di una colonna occorre rimuovere tutti i constraints ed eventuali indici.
Inoltre dovrai spulciare tutte le sp, viste, triggers, udf ed il codice client per apportare le modifiche.
Comunque la seguente query ti permette di generare i comandi di ALTER TABLE che puoi copiare ed eseguire con la dovuta cautela:
SELECT
N'ALTER TABLE [' + S.name + N'].[' + T.name + N'] ' +
N'ALTER COLUMN [' + C.name + N'] INT ' +
CASE C.is_nullable
WHEN 1 THEN N'NULL;'
ELSE N'NOT NULL;'
END AS Command
FROM sys.tables AS T
JOIN sys.schemas AS S
ON T.schema_id = S.schema_id
JOIN sys.columns AS C
ON T.object_id = C.object_id
WHERE C.system_type_id = 104
AND T.type = 'U';
>Vi ringrazio per il vostro prezioso aiuto.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org