
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.08.2002, 22:00:28
|
|||
|---|---|---|---|
|
|||
Выполнение длинных запросов |
|||
|
#18+
Проблема заключается в превышении ограничиния в 8000 символов при составлении строки динамического сиквела. Разбивать на несколько переменных и затем склеивать в EXECUTE (@Sql1+@Sql2+...) проблематично (что можно было - разделил), так как основная часть запрос генерируется в цикле и число итераций его заранее неизвестно. Теоретически sp_executesql работет с ntext, но работать с ним в ХП вроде как нельзя. Или все-таки как-то можно? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.08.2002, 22:28:22
|
|||
|---|---|---|---|
|
|||
Выполнение длинных запросов |
|||
|
#18+
Можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.08.2002, 22:41:00
|
|||
|---|---|---|---|
|
|||
Выполнение длинных запросов |
|||
|
#18+
И как? Хотелось бы все-таки не через поле в таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.08.2002, 23:09:13
|
|||
|---|---|---|---|
Выполнение длинных запросов |
|||
|
#18+
Можно записать скрипт во внешний текстовый файл и затем выполнить с помощью osql/isql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.10.2002, 16:57:11
|
|||
|---|---|---|---|
|
|||
Выполнение длинных запросов |
|||
|
#18+
У меня совершенно аналогичная проблема. Запись в файл не устраивает. Упоминаемый здесь метод работы с ntext действительно должен работать теоретичеки, но как реализовать его практически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.10.2002, 17:24:33
|
|||
|---|---|---|---|
Выполнение длинных запросов |
|||
|
#18+
я вот почитал в BOL, там написано, что текст запроса должен обязательно конвертироваться в ntext, и кажется нет ни слова о том, что этот параметр м.б. сам по себе ntext. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.10.2002, 17:54:38
|
|||
|---|---|---|---|
Выполнение длинных запросов |
|||
|
#18+
@string_variable Is the name of a local variable. @string_variable can be of char, varchar, nchar, or nvarchar data type with a maximum value of the server's available memory. If the string is greater than 4,000 characters, concatenate multiple local variables to use for the EXECUTE string. For more information about system-supplied SQL Server data types, see Data Types. Про text ни слова. Боюсь EXECUTE (@Sql1+@Sql2+...) - единственный выход. Хотя если вы в состоянии загнать строку данамического SQL в ntext, то какие проблемы её оттуда вытащить в массив из, скажем 10 переменных типа nvarchar(4000) и затем запустить EXECUTE (@Sql1+@Sql2+...@Sql10), тогда максимальная длинна запроса будет 40К ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.10.2002, 17:40:51
|
|||
|---|---|---|---|
|
|||
Выполнение длинных запросов |
|||
|
#18+
Метод хоть и нельзя назвать удобным, но он работает (лично мне казалось, что при сложении varchar переменных обрезание до 8000 тоже должно иметь место, ан нет). Полагаю, что других способов и не найти. Спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.10.2002, 17:47:13
|
|||
|---|---|---|---|
Выполнение длинных запросов |
|||
|
#18+
Я сам задавал аналогичный вопрос где-то там далеко внизу. Лично я выкрутился на EXECUTE (@Sql1+@Sql2+...+@Sql10). А что, 80'000 байт тоже мало? Сколько же времени занимает компиляция этих запросов? Сэр, вы попробуйте глазами прочитать запрос такого размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1819767]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 350ms |

| 0 / 0 |
