Microsoft SQL Server text kolon tipini değiştirme komutu kullanımı örneği (Microsoft SQL Server change text column type command usage example)

Microsfot SQL Server veritabanı kullanımında text, image gibi alanların tipini değiştirmek istediğinizde size
“Msg 4927, Level 16, State 1, Line 1 Cannot alter column ‘my_column’ to be data type ntext.” gibi hata verir bu hatayı aşabilmek için öncelikle mesela “text” tipindeki alan için konuşalım, aşağıdaki adımları her alan için sırayla uygulamanız gerekecektir böylelikle veri kaybınız olmayacak.

1: yeni tipde geçici bir kolon oluşturulması
2: eski alanın değerlerinin yeni geçici kolona kopyalanması
3: eski kolonun tablodan kaldırılması
4: yeni tip ile eski kolon adının tekrar oluşturulması
5: yeni oluşturulan alana geçici kolondan bilgilerin kopyalanması
6: geçici alanın tablodan kaldırılması

ALTER TABLE mydbname.dbo.[my_table] ADD MY_COLUMN_NAME_TEMP nvarchar(max) collate Turkish_CI_AS
UPDATE mydbname.dbo.[my_table] SET MY_COLUMN_NAME_TEMP = MY_COLUMN_NAME collate Turkish_CI_AS
ALTER TABLE mydbname.dbo.[my_table] DROP COLUMN MY_COLUMN_NAME
ALTER TABLE mydbname.dbo.[my_table] ADD MY_COLUMN_NAME nvarchar(max) collate Turkish_CI_AS
UPDATE mydbname.dbo.[my_table] SET MY_COLUMN_NAME = MY_COLUMN_NAME_TEMP collate Turkish_CI_AS
ALTER TABLE mydbname.dbo.[my_table] DROP COLUMN MY_COLUMN_NAME_TEMP

Microsoft SQL Server veritabanında kolon tipi değiştirme işlemini karakterlerin doğru görünmesi için yapıyorsanız yukarıdaki işlemlerden sonra ilgili kayıtlarınızı doğru karakterleri kullanarak güncellemeniz gerekecektir.

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on StumbleUpon0Share on Reddit0

Leave a Reply


*