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

Подскажите как тип данных можно использовать для локальной переменной для хранения строки длинною более 8000 символов?

Спасибо.
20 мар 03, 14:05    [152441]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
text
20 мар 03, 14:10    [152453]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
Семен
Guest
text, ntext, image не катят для локальной переменной
20 мар 03, 14:12    [152456]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
И действительно, век живи век учись. :-)
20 мар 03, 14:15    [152464]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
А если не секрет. Что за информация такая? Не, мне просто интересно, никогда с такими строками не работал.
20 мар 03, 14:19    [152476]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
Crip
Member

Откуда:
Сообщений: 2490
При работе с такими текстовыми данным нужно использовать конкатенацию локальных переменных. Грустно, то что получается объявлять переменные нужно динамически что-ли...
20 мар 03, 14:31    [152498]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
incold
Member

Откуда:
Сообщений: 1580
А действительно есть ли альтернатива varchar(8000)?

У меня такая задача тоже есть, но пока что влазил в 8000 символов.
Динамически создается ХП, а затем запускается.
Как сделать ее статической пока решения не нашел (слишком много условий, влияющих на логику работы процедуры и поэтому пока что ничего лучше чем создавать ее динамически не придумывается, хотя самому не нравится такой подход).
20 мар 03, 14:32    [152500]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5069
Кусать на части и в таблице хранить. Потом клеить обратно - так сам сервер поступает при работе с длинными текстами хранимого кода.
20 мар 03, 14:32    [152501]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
И при этом сильно надеятся, что в следующих версиях mssql такого гемороя не будет.
20 мар 03, 15:17    [152589]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
B0rG
Member

Откуда: столичный город кудаблин
Сообщений: 619
думаю будет,
т.к. с неизвестным размером поля у тебя paging будет очень очень геморройный.

я делал временную таблицу

tempID (int)
tempResource (ntext)

пихал туда INSERT а потом UPDATETEXT
20 мар 03, 15:36    [152634]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
мне кажется проще создать таблицу типа (id int, T text) и передавать этот id
в любом случае передача параметра большого размера по значению - не очень хорошо
20 мар 03, 18:31    [152896]     Ответить | Цитировать Сообщить модератору
 Re: Что может заменить varchar(8000)?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31598
Вот и сделали-бы в MS передачу по ссылке. Или ещё как-нибуть. А то как в sp_xml_preparedocument передать параметры???
20 мар 03, 19:20    [152951]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить