Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
Динамически формирую текст запроса. Нужно переменной присвоить какое-то текстовое значение. Столкнулась с тем, что независимо от типа переменной, присваивается только значение 160 символов, остальное обрезается. Подскажите, разве есть ограничения на размер присваиваемого значения переменной типа text (или long varchar)? И как вообще переменной присвоить "длинное" текстовое значение. примерно такой скрипт: begin declare @s text; // long varchar(5000) тоже не помогло set @s = 'очень длинная строка длиной больше 160 символов'; select @s; // выводит только строку длиной 160 символов, дальше обрезает end и дело не в длине отображаемого текста (в опциях ISQL Trancation length = 5000), значение переменной на самом деле обрезается ASA 8.0.2.4424 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 10:21 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
А как вы определяете что значение обрезалось ? Попробуйте после присваивания посмотреть длину переменной, ибо визуальные утилиты могут просто отображать обрезано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 14:29 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
Как я говорила, я динамически формирую текст запроса. При запуске его получила ошибку, и увидела, что переменная, которая подставляется в текст запроса, "урезана", вычислила ее длину - 160 символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 14:58 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
Может дело в содержимом строки ? какой символ на 161 позиции ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 16:40 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
Попробуйте склеить строчки set @s = 'так чтобы ' + 'в каждом куске ' + ' было менее 160 символов' вместо + можно || ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 16:46 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
на 161 позиции все время разные символы, но все это текстовые значения. Пробовала склеивать из кусочков размером < 160, все также - значение обрезается. И что больше всего поражает, рядом есть переменная sql_text так же типа text, в которой я постепенно формирую запрос, так вот к ней нормально добавляются значения, т.е. sql_text := sql_text + @s - получаю текст запроса размером где-то более 4000 символов, т.е.значение не обрезается, но вот с переменной @s - фигня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 07:05 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
тогда вставьте эту строку сюда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 08:09 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
сначала идет курсор по таблицам, потом кусочек: set @where = @pk || ' not between (select pos_idstart from dba.pos_settings where pos_id = 37)' || ' and (select pos_idstop from dba.pos_settings where pos_id = 37) ' || ' and ' + @pk || ' not between (select pos_idstart from dba.pos_settings where pos_id = 44)' || ' and (select pos_idstop from dba.pos_settings where pos_id = 44) ' || ' and ' + @pk || ' not between (select pos_idstart from dba.pos_settings where pos_id = 49)' || ' and (select pos_idstop from dba.pos_settings where pos_id = 49) '; sql_text = sql_text + @where; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 10:24 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
еще не проверял, но использовать в качестве имени переменной зарезервированное слово не стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 10:32 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 10:35 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
Попробуйте пропачить сервак. Последний билд: 8.0.3.5570 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 14:18 |
|
||
|
ограничения на размер значения текстовой переменной
|
|||
|---|---|---|---|
|
#18+
после того, как переменную @pk объявила как text (а так же все переменные, с которыми происходит конкатенация в процессе формирования текста запроса) все стало нормально. Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 09:59 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34809884&tid=2011910]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 435ms |

| 0 / 0 |
