poniedziałek, 13 czerwca 2011

MS SQL ALTER MULTIPLE COLUMNS (T-SQL)

Przykładzik, jak za pomocą kursora zmienić typ danych w dowolnej liczbie kolumn tabeli.

DECLARE @tname nvarchar(max), @SQL nvarchar(max)
DECLARE @getTName CURSOR
SET @getTName = CURSOR FOR
SELECT name
FROM sys.columns where object_id = OBJECT_ID
OPEN @getTName
FETCH NEXT
FROM @getTName INTO @tname
WHILE @@FETCH_STATUS = 0
BEGIN
--PRINT @tname
set @SQL = 'alter table TABLE_NAME alter column ' + @tname + ' nvarchar(max)'
exec sp_executesql @SQL
FETCH NEXT
FROM @getTName INTO @tname
END
CLOSE @getTName
DEALLOCATE @getTName
go