Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2012, 19:18   #1
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию SQL Managment Studio 2005: ntext

Дорогие форумчане, мне надо в базе данных поменять у колонки свойство с text на ntext. Пишу запрос - среда ругается, а я не понимаю, почему ей не нравится этот тип. Посоветуйте что-нибудь, пожалуйста)))
Код:
use db_MyBase

ALTER TABLE tPerson
ALTER COLUMN FirstName ntext
А среда говорит "Cannot alter column 'FirstName' to be data type ntext.
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 29.11.2012, 20:25   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

text и ntext можно заменить командой ALTER только на varchar(max), nvarchar(max) и xml (насчет последнего не уверен). Меняем так
1. Переименовываем исходное поле
2. Добавляем новое с исходным именем и ntext
3. UPDATE из старого поля в новое
4. Удаляем старое поле
Все

ADD

Если поле NOT NULL, то сначала создаем с NULL, заполнем, а после этого с помощью ALTER делаем NOT NULL
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 29.11.2012 в 20:31.
Аватар вне форума Ответить с цитированием
Старый 29.11.2012, 23:56   #3
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию

Прощу прощения, поздно увидела Ваше собщение.

"Это не техника дошла, это я сама дошла, на лыжах" (фраза из мультика "Простоквашено") до принудительного переписывания типа текст вначале в varchar(mаx), затем в ntext.

Вот удивительно, почему о том, что типы текст и нтекст нельзя переконвертировать напрямую нигде не написано? Ни в учебниках, ни в мануале, ни в Интернете. Сиди, гадай, ставь научные опыты методом практического тыка....

Я поле не переименовывала (у меня на него уже был навинчен уже динамический класс в ASP, боялась, вдруг потом неправильно название напишу и все, труба), сразу два ALTER через GO сделала. Среда скушала и не подавилась.

Огромное спасибо и плюсик))))
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 30.11.2012, 00:10   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вы лучшим способом преобразовали +1

По поводу конвертирования см.
http://msdn.microsoft.com/ru-ru/library/ms190273.aspx
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MS SQL SERVER 2005 sql querry reihtmonbern БД в Delphi 18 26.08.2012 17:06
БД C#(Visual Studio) + SQL Server 2005 Studentka123 Помощь студентам 0 01.12.2011 14:38
Visual Studio 2005 Nastyhahh Visual C++ 0 29.05.2011 19:48
С# и visual studio 2005 Neymexa Общие вопросы .NET 6 26.03.2009 10:11
С# и visual studio 2005 Neymexa Общие вопросы .NET 1 12.03.2009 22:31