Spis treści:

Kategoria:SQL Server


Zamiana wszystkich kolumn typu ntext na nvarchar(MAX)

Dlaczego trzeba zamieniać?

Jak już napisałem wcześniej, typy text i ntext nie powinny być używane. Cały wpis można przeczytać pod tym adresem: Porównanie ntext i nvarchar(max). Obiecałem też, że dodam skrypt, który zamienia wszystkie kolumny typu ntext na kolumny nvarchar(MAX) z zachowaniem zawartości kolumn. Mam nadzieję, że komuś się przyda. Nie będę go szczegółowo opisywał. Zagadnienia teoretyczne opisane są we wskazanym artykule.

Skrypt właściwy


DECLARE NTextColumns CURSOR FOR
SELECT T.[name], C.[name]
FROM sys.tablesJOIN sys.columnsON T.[object_id]=C.[object_id]
JOIN sys.types Tp ON C.user_type_id=Tp.user_type_id
WHERE Tp.[name]='ntext'

DECLARE @table nvarchar(128)
DECLARE @column nvarchar(128)
DECLARE @sql nvarchar(1024)

OPEN NTextColumns
FETCH NEXT FROM NTextColumns INTO @table, @column
WHILE @@FETCH_STATUS=0
BEGIN
SET @sql = 'ALTER TABLE '+@table+' ALTER COLUMN '+@column+' NVARCHAR(MAX)'
EXEC sp_executesql @sql
FETCH NEXT FROM NTextColumns INTO @table, @column
END
CLOSE NTextColumns
DEALLOCATE NTextColumns

Kategoria:SQL Server

, 2013-12-20

Brak komentarzy - bądź pierwszy

Dodaj komentarz
Wyślij
Ostatnie komentarze
Kalkulator, jak kalkulator, na pewno nie uwzględnia wielu rzeczy. Dla przykładu, jedziemy po asfalcie, ja na rowerze trial (14 kg, opony 29x2,6) a obok mnie kolega na szosie. Robimy te same kilometry w tym samym czasie i niby tyle samo wysiłku włożyliśmy? Druga kwestia, idę na owym rowerze pojeździć po lesie, podjazd, zjazd, piasek etc. To nie to samo co jazda po ścieżce.
Całkiem niezły kalkulator, porównując rezultaty z suunto 9 baro wartości są niemal identyczne z tymże byłoby jeszcze lepiej gdyby dodać prędkość wiatru i przewyższenia. Zdecydowanie najlepszy kalkulator w necie.
Super wyjasnione, czytalo sie bardzo lekko. Dzieki i pozdrawiam
puściłem benta i leci klockiem w pomieszczeniu, w którym kodujemy