Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 ввод данных в поле типа varchar(max)  [new]
Uchik
Member

Откуда:
Сообщений: 33
Добрый день!

ситуация такая:
есть таблица, в которой существовало поле типа text
данные во всей таблице уже хранились, а вот это поле было во всех записях null
теперь оно понадобилось
при попытке вставить туда значение (оператором update) поле не обновлялось, а так и оставалось null
поиски привели к тому, что это устаревший тип данных и нужно использовать varchar(max)
заменили тип на varchar(max)
но ничего не изменилось - при вводе данных в лучшем случае - сообщает, что 1 строка обновлена, но на самом деле запрос на проверку не null-ли все значения столбца выдает, что все null

с чем связана подобная ситуация и как ее решать?
9 июл 13, 17:15    [14542717]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Uchik
Добрый день!

ситуация такая:
есть таблица, в которой существовало поле типа text
данные во всей таблице уже хранились, а вот это поле было во всех записях null
теперь оно понадобилось
при попытке вставить туда значение (оператором update) поле не обновлялось, а так и оставалось null
поиски привели к тому, что это устаревший тип данных и нужно использовать varchar(max)
заменили тип на varchar(max)
но ничего не изменилось - при вводе данных в лучшем случае - сообщает, что 1 строка обновлена, но на самом деле запрос на проверку не null-ли все значения столбца выдает, что все null

с чем связана подобная ситуация и как ее решать?

Может быть триггер INSTEAD OF?
9 июл 13, 17:16    [14542723]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
Uchik
Member

Откуда:
Сообщений: 33
Сергей Викт.,

Ай!
и правда...
а ведь я все переискала: и в триггеры глядела и форумы и инструкции облазила в поисках
а вот Вы указали на instead - и все, сразу вспомнила

Спасибо!

:)
9 июл 13, 17:20    [14542758]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Uchik
сообщает, что 1 строка обновлена, но на самом деле запрос на проверку не null-ли все значения столбца выдает, что все null

с чем связана подобная ситуация ?

Ну, например, с тем, что при обновлении строки вы пишете NULL в данное поле.
9 июл 13, 17:21    [14542765]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Может, на SQL чего-нибудь напишете?
CREATE TABLE и INSERT тестовых данных, например.
PRINT @@VERSION
???
Что за UPDATE посылали на сервер?
9 июл 13, 17:22    [14542771]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Гость333
Uchik
сообщает, что 1 строка обновлена, но на самом деле запрос на проверку не null-ли все значения столбца выдает, что все null

с чем связана подобная ситуация ?

Ну, например, с тем, что при обновлении строки вы пишете NULL в данное поле.
Оказывается, у них с Сергей Викт. свои секреты! :))
9 июл 13, 17:23    [14542786]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
Uchik
Member

Откуда:
Сообщений: 33
спасибо!
проблема решилась :)
действительно в триггере instead of update при изменении структуры таблицы (при добавлении полей) был кем-то не добавлен этот столбец
9 июл 13, 17:25    [14542795]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
iap
Гость333
пропущено...

Ну, например, с тем, что при обновлении строки вы пишете NULL в данное поле.
Оказывается, у них с Сергей Викт. свои секреты! :))

))) Просто я помню, как познакомился с INSTEAD OFF.)))
Был мой 2й рабочий день в должности инженера (только после универа был). И тут на тебе. Обработана 1 строка - и тишина)) Поэтому и предположил. Хотя, может, я б и посекретничал)
9 июл 13, 17:25    [14542796]     Ответить | Цитировать Сообщить модератору
 Re: ввод данных в поле типа varchar(max)  [new]
Uchik
Member

Откуда:
Сообщений: 33
Сергей Викт.,

а тут оказалась проблема разных разработчиков, кто-то (теперь уж и не найти кто) добавили несколько столбцов, и все кроме этого добавили в триггеры, ну а я проглядела

и тоже понять не могу почему строка обработана, а результата нет
и если просто в таблицу напрямую вводить, то введенный текст волшебным образом исчезает )))))))))

надо же так начудить )))))))
9 июл 13, 17:28    [14542825]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить