|
|
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
Внутри процедуры хочу выполнить с помощью exec одним запросом длинную строку : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Какие решения можете предложить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 17:32 |
|
||
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
Напиши хранимую процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 18:29 |
|
||
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
Эти строки как раз и расположены внутри процедуры, а exec возвращает результирующий резалтсет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2009, 10:17 |
|
||
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
А long varchar не подойдет? Или ASE exec разрешает максимум 16384? Если так, то никак не обойти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2009, 10:58 |
|
||
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
JenyaD wrote: > declare @query varchar(16384) > exec (@query) > Однако длинны строки для запроса не хватает. > Какие решения можете предложить. Никаких решений нет. 16384 - это максимум, больше него нельзя. Переменную типа text в TSQL создать невозможно, а varchar длиннее быть не может (заметьте, что 16384 символов можно хранить ТОЛЬКО В ПАМЯТИ, в таблице это число ещё более ограничено размером страницы базы данных). Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2009, 12:04 |
|
||
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
Помогло : Код: plaintext Однако при большом (около 100) количестве столбцов ORDER BY перестаёт работать. Без сообщений об ошибке. Adaptive Server Enterprise/15.0.2/EBF 15652 ESD#4/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2009, 13:13 |
|
||
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
Потому наверно и не работает, что строка обрезается по первым 16384 символам. Видимо сам запрос остается работоспособным и без отрезанного хвоста. Про процедуру было предложение, чтобы уменьшить длину строки. Т.е. чтобы в exec было написан не сам запрос, а "call sp_proc()", и вот в этой sp_proc и напишите дикие селекты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2009, 14:48 |
|
||
|
Длиннная строковая переменная в процедуре ASE 12/15
|
|||
|---|---|---|---|
|
#18+
JenyaDЭти строки как раз и расположены внутри процедуры, а exec возвращает результирующий резалтсет."результирующий резалтсет" это тавтология. Не надо конструировать длинные селекты. Лучше сделать хранимую процедуру с навороченой логикой. Что-нибудь в духе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2009, 17:55 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=36041984&tid=2011003]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 490ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...