Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
3-72632
smu
2003-12-26 16:20
2004.01.23
TDbf Как избавиться от *.obf файлов, кот он создает?


3-72652
Odessit
2003-12-25 21:29
2004.01.23
Компонента для фильтрации


3-72672
rel_
2003-12-18 12:45
2004.01.23
Запрос по дате


3-72676
MV
2003-12-25 12:36
2004.01.23
Преход и InterBase на MS SQL


1-72768
Sour
2004-01-13 13:57
2004.01.23
1C





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский