![]() |
|
Модераторы: Akina |
![]()
|
|
| Pakshin A. S. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
Имеются две таблицы, в которых находятся поля типа image. Создаю хранимую процедуру для копирования данных из одной таблицы в другую, где завожу переменную типа image. На это действие система ругается:
Как обрабатывать поля с недопустимыми типами? Сокращенный код процедуры:
Здесь же интересует как в итоге вставить image в запрос. CONVERT(VARCHAR(255), @CIHIDDENPROPS) скорее всего не подойдет. Это сообщение отредактировал(а) Pakshin A. S. - 17.6.2011, 16:43 |
||||
|
|||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
Дальнейший серфинг интернета подсказал вот такую тему...
Вероятно, с text и ntext следует работать также. Но я что-то не понял как мне указать в какую именно запись вставлять... Это сообщение отредактировал(а) Pakshin A. S. - 17.6.2011, 17:00 |
|||
|
||||
| Pakshin A. S. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
Справка Miscrosoft не рекомендует пользоваться UPDATETEXT:
Похоже с WRITE конструкция UPDATE примет следующий вид:
Реконструкция UPDATE-запроса основана на: http://technet.microsoft.com/ru-ru/library...23(SQL.90).aspx Остается проблема с INSERT, в котором вроде как нет WRITE: http://technet.microsoft.com/ru-ru/library...35(SQL.90).aspx Самым неприятным может являться то, что у записи может не быть уникального идентификатора => найти запись после INSERT не представляется возможным. Вижу только выход в том, чтобы делать UPDATE с условием совпадения всех полей не являющимися image, text, ntext. У кого-нибудь есть идеи по поводу как организовать работу красиво и стабильно? Это сообщение отредактировал(а) Pakshin A. S. - 17.6.2011, 17:24 |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
1) image заменяем на varbinary(max), т. к. image - это устаревший тип. И переменные вполне работают с ним
2) Зачем dynamic SQL? Почему непосредственно не выполнять стейтменты? В любом случае - почему не параметризованные запросы? 3) Ну и зачем вообще курсор и обработка записей по одной (это ж очень не эффективно)? Версию сиквела я не увидел таки.. Если 2008 - merge, если меньше - insert into .. select .. where not exists, update .. from .. inner join .. |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: нет Всего: 61 |
update ... from - не знал такую конструкцию! Спасибо! В таком случае и хранимая процедура по сути не нужна будет.
|
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |