Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как в переменную передать более 8000 символов  [new]
goshua
Member

Откуда:
Сообщений: 84
Есть очень громоздкий select в котором более 8000 символов. Этот select надо передать в переменную, что бы в дальнейшем исполнить через EXECUTE. Связано с тем что select собирает данные в одной базе и результат потом передает в другую базу данных. Есть ли способ передать в переменную более 8000 символов что бы в последствии исполнить его через execute?
3 май 11, 18:15    [10600306]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
1. exec ( @sql1 + @sql2 + ... ) -- хоть стопиццот раз
2. Недокументированая sp_execresultset на 2000м.
3 май 11, 18:18    [10600316]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31948
goshua
Есть очень громоздкий select в котором более 8000 символов. Этот select надо передать в переменную, что бы в дальнейшем исполнить через EXECUTE. Связано с тем что select собирает данные в одной базе и результат потом передает в другую базу данных. Есть ли способ передать в переменную более 8000 символов что бы в последствии исполнить его через execute?
select @@version
3 май 11, 19:12    [10600453]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
alexeyvg
goshua
Есть очень громоздкий select в котором более 8000 символов. Этот select надо передать в переменную, что бы в дальнейшем исполнить через EXECUTE. Связано с тем что select собирает данные в одной базе и результат потом передает в другую базу данных. Есть ли способ передать в переменную более 8000 символов что бы в последствии исполнить его через execute?
select @@version
Действительно. Может просто переменная типа NVARCHAR(MAX) подойдёт.
3 май 11, 20:28    [10600646]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
goshua
Member

Откуда:
Сообщений: 84
все проводиться в рамках sql server 2000 sp4 поэтому nvarchar(max) не подойдет
3 май 11, 21:10    [10600746]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
7690330
goshua
SQL Server 2000 SP 4

А селектом низя? Зачем данные то "собирать", "разбирать"? Нечем сервер занять?
3 май 11, 21:32    [10600776]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
goshua
Member

Откуда:
Сообщений: 84
Mnior
7690330
goshua
SQL Server 2000 SP 4

А селектом низя? Зачем данные то "собирать", "разбирать"? Нечем сервер занять?

Так надо и на то есть причины. Я не прошу задавать мне ответы можно или нельзя. Есть поставленная задача и я спрашиваю можно ли ее реализовать. если нет, то я буду искать другие пути. Нельзя потому что уже это все работает на десятках селектах, но в данный момент надо выполнить по этому же принципу работу селекта более 8000 символов, поэтому и прошу помощи. Я не хочу из-за одного селекта переделывать весь принцип обмена данными между двумя абсолютно разными базами с разной структурой таблиц.
3 май 11, 22:44    [10600948]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
goshua
весь принцип обмена данными
Вот мне этот принцип и интересен. Опишите.
goshua
Я не хочу из-за одного селекта переделывать весь принцип обмена данными
Может я хочу, у себя.
3 май 11, 22:54    [10600972]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
iljy
Member

Откуда:
Сообщений: 8711
goshua,

а когда запросы перестанут в 2 гига влезать - чего делать будете?
4 май 11, 00:46    [10601233]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
PVC
Member

Откуда:
Сообщений: 319
goshua,

рабочий вариант в 1 ответе в этой ветке.
проверено.
работает.
хотя, лично я бы вынес это на клиента (службу)
это не софтпойнт?
4 май 11, 08:31    [10601524]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
PVC
Member

Откуда:
Сообщений: 319
iljy
goshua,

а когда запросы перестанут в 2 гига влезать - чего делать будете?


об этом, обычно, никто не задумывается :) после нас - хоть потоп :)
4 май 11, 08:33    [10601529]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62908
goshua
Так надо и на то есть причины. Я не прошу задавать мне ответы можно или нельзя. Есть поставленная задача и я спрашиваю можно ли ее реализовать. если нет, то я буду искать другие пути.

При такой постановке ответ НЕЛЬЗЯ, из=за принципиальных технических ограничений.
4 май 11, 08:48    [10601579]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
PVC
Member

Откуда:
Сообщений: 319
Anatoly Podgoretsky,

Анатолий, подтверждаю, ставят такие задачи )))
4 май 11, 12:17    [10602873]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
PVC
подтверждаю, ставят такие задачи
Это подмен понятий. Раздрай в "не клозетах" приводит к такой путанице.
Бизнес ставит явно не технические задачи, и вообще не бывает "технических задач", бывают лишь "технические решения".

В воздух:
Бесполезно нервничать если явно на лице написано "Быдло-кодер".
Ах, ну-да ну-да, Быдло-Врач это нормально. Скальпель, Спирт, Огурец.
4 май 11, 14:22    [10603939]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
PVC
Member

Откуда:
Сообщений: 319
Mnior,

Ну, Вам виднее.
Это диагноз.
4 май 11, 18:52    [10606291]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
PVC
Ну, Вам виднее.
Это диагноз.
При чём тут "виднее".
Если есть аргументы, так говорите. А то только хи-хи да ха-ха.

Яж не по вашу душу писал, откуда мне знать, может вы цитировали. Это ведь совершенно не важно - таких топиков "А такова задача и всё тут!" тут на форуме миллион.

Проблем из-за которых сводят к данному "утверждению" очень много. Поэтому обращать внимание на матюки ("Не лечите меня, а тупо ответьте на мой вопрос: как засунуть куб в круглое отверстие?!") совершенно не стоит, и продолжать напоминать - Вы не в армии чтоб делать всё "по уставу", включите голову.
Естественно, нарваться на чужой интересный опыт (аля ... гипер-кубы в вакууме) редкая удача, но такие не обижаются.

Ваш: КО.
4 май 11, 23:43    [10607262]     Ответить | Цитировать Сообщить модератору
 Re: Как в переменную передать более 8000 символов  [new]
PVC
Member

Откуда:
Сообщений: 319
Mnior,

Запоздало извиняюсь. Был не прав.
20 май 11, 23:15    [10687506]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить