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

Откуда:
Сообщений: 287
Поле в таблице ntext в процедуре нужно в переменную собрать много текста (статья), для дальнейшей записи в таблицу.
Переменные типа varchar коротковаты, максимум 4 тыс. символов, создать переменную типа ntext в процедуре нельзя. Есть мысль создать временную таблицу или переменную табличного типа. Но решил сам не придумывать велосипед, а спросить совета. Заранее спасибо за ответ.
11 июн 09, 23:48    [7292822]     Ответить | Цитировать Сообщить модератору
 Re: Как хитрее в переменную записать больше 10 000 символов  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
Пашок,

varchar(max) должно хватить
11 июн 09, 23:50    [7292835]     Ответить | Цитировать Сообщить модератору
 Re: Как хитрее в переменную записать больше 10 000 символов  [new]
Glory
Member

Откуда:
Сообщений: 104760
Пашок
Поле в таблице ntext в процедуре нужно в переменную собрать много текста (статья), для дальнейшей записи в таблицу.
Переменные типа varchar коротковаты, максимум 4 тыс. символов, создать переменную типа ntext в процедуре нельзя. Есть мысль создать временную таблицу или переменную табличного типа. Но решил сам не придумывать велосипед, а спросить совета. Заранее спасибо за ответ.

insert ... select не поможет "собрать много текста (статья), для дальнейшей записи в таблицу" ?
12 июн 09, 10:21    [7293328]     Ответить | Цитировать Сообщить модератору
 Re: Как хитрее в переменную записать больше 10 000 символов  [new]
Пашок
Member

Откуда:
Сообщений: 287
Да, большой текстовый массив, который нужно записать в таблицу.

declare @cText1 nvarchar(max) , @cText2 nvarchar(max)

set @cText1 = 'много текста' -- больше 10 000 тыс букв (газетные тексты)
set @cText2 = 'много текста'

create table article (text_info ntext, text_comment ntext )

insert into article (text_info, text_comment) values (@cText1, @cText2)


Соответсвенно текст обрезается из за ограничения varchar(max) в 8 тыс символов. В каком формате нужно хранить большые тексты ?
12 июн 09, 19:51    [7294698]     Ответить | Цитировать Сообщить модератору
 Re: Как хитрее в переменную записать больше 10 000 символов  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36808
Пашок
Да, большой текстовый массив, который нужно записать в таблицу.

declare @cText1 nvarchar(max) , @cText2 nvarchar(max)

set @cText1 = 'много текста' -- больше 10 000 тыс букв (газетные тексты)
set @cText2 = 'много текста'

create table article (text_info ntext, text_comment ntext )

insert into article (text_info, text_comment) values (@cText1, @cText2)


Соответсвенно текст обрезается из за ограничения varchar(max) в 8 тыс символов. В каком формате нужно хранить большые тексты ?
У варчар(max) ограничение в 2^31 степени символов, т.е. в 2Гб. Вы что-то путаете.
12 июн 09, 20:06    [7294728]     Ответить | Цитировать Сообщить модератору
 Re: Как хитрее в переменную записать больше 10 000 символов  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
И кстати, зачем держать в таблице поле типа NTEXT,
если версия сервера позволяет работать с NVARCHAR(MAX)?

Между прочим, неплохо бы начинать тему с сообщения версии сервера.
12 июн 09, 20:10    [7294737]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить