Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.23;
Скачать: CL | DM;

Вниз

ОЧЕНЬ БОЛЬШОЙ ЗАПРОС   Найти похожие ветки 

 
AndrewK ©   (2003-12-25 13:37) [0]

Доброго времени суток, господа.

Подскажите, пожалуйста, как на стороне сервера можно сгенерировать SQL запрос общей длиной более 8000 символов и выполнить его.

Пока у меня в наличии есть только вот что:

declare @SQL varchar(8000)
select @SQL = .. <Здесь в цикле я создаю тело запроса> ..
Exec (@SQL)

До 8000 символов все работает, выше - соответственно нет.

declare @SQL text - нельзя, так как его нельзя передать в Exec.

Может кто что посоветует?

PS. На вопрос зачем такой большой скажу сразу - злые пользователи хотят длинный и красивый отчет в Excele. Делать его динамически в нем что-то не хочется, на стороне клиента с дальнейшей выгрузкой тоже желания нет. К тому-же запрос получается хоть и длинный, но достаточно быстрый - проверял вручную через QA.


 
ZrenBy ©   (2003-12-25 13:41) [1]

http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=10843


 
Sandman25 ©   (2003-12-25 13:42) [2]

По существу ответ не знаю. Но могу предложить написать несколько View и извлекать данные из них. За счет этого можно будет уменьшить длину запроса.


 
Ega23 ©   (2003-12-25 13:56) [3]

Попробуй воспользоваться не varchar(8000) а ntext, и с помощью updatetext его менять


 
just me   (2003-12-25 14:15) [4]

> Ega23 © (25.12.03 13:56)
не получится, Exec требует параметр типов varchar, nchar, or nvarchar
но можно так:
declare @SQL1 varchar(8000), @SQL2 varchar(8000), ...
set @SQL1 = ...
set @SQL2 = ...
...
Exec (@SQL1 + @SQL2 + ...)


 
AndrewK ©   (2003-12-25 15:15) [5]

Спасибо всем.

Помогло вот так:

declare @SQL1 varchar(8000), @SQL2 varchar(8000), ...
set @SQL1 = ...
set @SQL2 = ...
...
Exec (@SQL1 + @SQL2 + ...)


 
Ega23 ©   (2003-12-25 15:38) [6]

Всё правильно. Это у меня html-файл генерился. Для exec"а не пойдёт.



Страницы: 1 вся ветка

Текущий архив: 2004.01.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
1-72777
Прохор
2004-01-13 12:24
2004.01.23
D7 PopupMenu и ХР


3-72668
senya
2003-12-26 19:12
2004.01.23
Есть ли какая-нить альтернатива DBChart ?


1-72828
msgipss
2004-01-12 10:07
2004.01.23
перекрестная инициализация объектов


3-72657
Orxan
2003-12-26 11:36
2004.01.23
Функция ApplyUpdates(). в ClientDataSet


14-72900
Igorek
2003-12-30 12:10
2004.01.23
Кто какие сайты посещает каждый день?