Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Копирование BLOBa из одной таблицы в другую   Найти похожие ветки 

 
-=VaaL=- ©   (2004-05-14 11:41) [0]

Собственно простой query:
UPDATE TEMPLATES SET
T_HTML = (SELECT S_HTML FROM SHOPS WHERE S_ID = 2)


здесь TEMPLATES.T_HTML и SHOPS.S_HTML два NTEXT поля.
Сервер ругается вот так:

Server: Msg 279, Level 16, State 3, Line 4
The text, ntext, and image data types are invalid in this subquery or aggregate expression.


Тоесть напрямую блобы перекидывать не разрешает. Встречался ни  кто-нибуть с этим и как это решал? Идеальным для меня было бы решение на чистом T-SQL. Понимаю что можно пихать этот блоб во временную таблицу кусками по 4000 символов и потом это все переливать в целевую таблицу... да вот только, авось есть  решение попроще?

Заранее спасибо.


 
Курдль ©   (2004-05-14 11:47) [1]


> Тоесть напрямую блобы перекидывать не разрешает

Он не разрешает подобное использование субзапроса.
Если есть возможность возврата НД более, чем с одной записью.
Пользуйтесь агрегатом!


 
Reindeer Moss Eater ©   (2004-05-14 11:52) [2]

А чем конструкция MSSQL "update from" не подходит?


 
sniknik ©   (2004-05-14 11:58) [3]

попробуй тоже самое с присоедененной таблицей (INNER JOIN)
~
UPDATE a SET a.T_HTML=b.T_HTML FROM TEMPLATES a INNER JOIN SHOPS b ON a.S_ID=b.S_ID WHERE a.S_ID=2

пройдет?


 
-=VaaL=- ©   (2004-05-14 12:01) [4]

Дык насколько я помню он ругается только если действительно подзапросом вернулось более одной записи, а так запросы такого рода  проходят на ура. кроме того в ошибке сказано что агрегатные выражения тоже не проходят. Скорее всего идет ошибка именно изза БЛОБов. Например запрос типа

SELECT S_HTML FROM SHOPS WHERE S_ID = 2 GROUP BY S_HTML

Возвращает ошибку:

The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.

Или я не про те агрегаты использую? Помоему другие тут никак не катят :) кароче кроме IS NULL и LIKE ничего с блобами использовать нельзя получается


 
Курдль ©   (2004-05-14 12:10) [5]

А если FIRST попробовать?


 
-=VaaL=- ©   (2004-05-14 12:14) [6]

sniknik © (14.05.04 11:58) [3]

Премного благодарен!!!! Чуть переделал и все пошло.
Спасибо всем принявшим участие, Вопрос снят.



Страницы: 1 вся ветка

Текущий архив: 2004.06.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
4-1083497908
anod
2004-05-02 15:38
2004.06.06
Изменить позицию пункта меню


4-1083077222
Maximys
2004-04-27 18:47
2004.06.06
Поиск в реестре в windows


14-1084807022
Анонимщик
2004-05-17 19:17
2004.06.06
Энциклопедия шахматных дебютов.


4-1082133160
Xerx
2004-04-16 20:32
2004.06.06
Контекстное меню и виртуальный диск


8-1080120677
Неуловимый Джо
2004-03-24 12:31
2004.06.06
BitBlt и прозрачность на W2k