| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MS SQL Server > Работа с колонкой типа image в процедуре |
| Автор: Pakshin A. S. 17.6.2011, 16:14 | ||||
Имеются две таблицы, в которых находятся поля типа image. Создаю хранимую процедуру для копирования данных из одной таблицы в другую, где завожу переменную типа image. На это действие система ругается:
Как обрабатывать поля с недопустимыми типами? Сокращенный код процедуры:
Здесь же интересует как в итоге вставить image в запрос. CONVERT(VARCHAR(255), @CIHIDDENPROPS) скорее всего не подойдет. |
| Автор: Pakshin A. S. 17.6.2011, 16:55 | ||
Дальнейший серфинг интернета подсказал вот такую тему...
Вероятно, с text и ntext следует работать также. Но я что-то не понял как мне указать в какую именно запись вставлять... |
| Автор: Pakshin A. S. 17.6.2011, 17:10 | ||||
Справка Miscrosoft не рекомендует пользоваться UPDATETEXT:
Похоже с WRITE конструкция UPDATE примет следующий вид:
Реконструкция UPDATE-запроса основана на: http://technet.microsoft.com/ru-ru/library/ms177523(SQL.90).aspx Остается проблема с INSERT, в котором вроде как нет WRITE: http://technet.microsoft.com/ru-ru/library/ms174335(SQL.90).aspx Самым неприятным может являться то, что у записи может не быть уникального идентификатора => найти запись после INSERT не представляется возможным. Вижу только выход в том, чтобы делать UPDATE с условием совпадения всех полей не являющимися image, text, ntext. У кого-нибудь есть идеи по поводу как организовать работу красиво и стабильно? |
| Автор: Любитель 18.6.2011, 12:24 |
| 1) image заменяем на varbinary(max), т. к. image - это устаревший тип. И переменные вполне работают с ним 2) Зачем dynamic SQL? Почему непосредственно не выполнять стейтменты? В любом случае - почему не параметризованные запросы? 3) Ну и зачем вообще курсор и обработка записей по одной (это ж очень не эффективно)? Версию сиквела я не увидел таки.. Если 2008 - merge, если меньше - insert into .. select .. where not exists, update .. from .. inner join .. |
| Автор: Pakshin A. S. 18.6.2011, 14:49 |
| update ... from - не знал такую конструкцию! Спасибо! В таком случае и хранимая процедура по сути не нужна будет. |