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

Откуда: Екатеринбург
Сообщений: 18931
есть ограничение на то что они могут возвращать при повторном использовании?
12 май 16, 10:31    [19162095]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 18931
т.е. насколько верно следующее
Самое смешное, что такие процедуры даже нельзя повторно использовать на сервере (я говорю про MSSQL, но, вероятно и для других серверо верно). Максимум - можно получить только первый резалтсет.
12 май 16, 10:33    [19162103]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
вадя,

это наверное рассказывается шёпотом в дремучем лесу у костра :) о чём вообще речь? :)
12 май 16, 10:36    [19162127]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 18931
TaPaK
вадя,

это наверное рассказывается шёпотом в дремучем лесу у костра :) о чём вообще речь? :)

об этом 19162032
сам с mssql работал давно, поэтому и хочется услышать реальных прогеров mssql.
в своё время вроде не слышал про такое...
12 май 16, 10:41    [19162158]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
вадя
TaPaK
вадя,

это наверное рассказывается шёпотом в дремучем лесу у костра :) о чём вообще речь? :)

об этом 19162032
сам с mssql работал давно, поэтому и хочется услышать реальных прогеров mssql.
в своё время вроде не слышал про такое...
Например, у компонентов ADO есть метод NextRecordset.
Так что Microsoft дал способ переключаться с рекордсета на рекордсет на клиенте.
12 май 16, 10:46    [19162196]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
вадя,

работать с несколькими резалтсетами майкрософт никак не запрещает. Шарп так точно. а вот страсти с
автор
такие процедуры даже нельзя повторно использовать на сервере
не ясны :)
12 май 16, 10:49    [19162218]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 18931
TaPaK,
вот это и вызвало сомнение и вопрос
12 май 16, 10:51    [19162232]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
вадя,

Нет у скуля никаких проблем с несколькими резалтсетами равно как и у жабы есть getMoreResults() который прекрасно работает.
12 май 16, 11:41    [19162678]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
dvim
Member

Откуда: Санкт Петербург
Сообщений: 711
WarAnt,
Проблем нет с#.

При использовании такого в vba проблемы были.
12 май 16, 11:52    [19162776]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 18931
dvim,
в аксессе, если мне память не изменяет, таких проблем небыло.
12 май 16, 12:09    [19162889]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
вадя
есть ограничение на то что они могут возвращать при повторном использовании?
Возвращать могут что угодно, ограничений нет.

Использовать эти резалтсеты в коде на T-SQL без извращений нельзя.
вадя
и для других серверо верно
Совершенно верно, у других так же.

Увы.
12 май 16, 13:08    [19163327]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 18931
alexeyvg
вадя
есть ограничение на то что они могут возвращать при повторном использовании?
Возвращать могут что угодно, ограничений нет.

Использовать эти резалтсеты в коде на T-SQL без извращений нельзя.
вадя
пропущено...
Совершенно верно, у других так же.

Увы.

моё мнение использование хранимок, возвращающих несколько селектов, в хранимках и есть извращение.
для вызывающего кода, java, c#,vba... , вполне уместно и необходимо, там где это нужно.
12 май 16, 13:47    [19163601]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8828
вадя,

при хорошо написанном коде ХП вообще ничего не возвращают кроме кода завершения. Это уже когда начинают "экономить" такое получается.

Возвращать результат должны функции и представления.
12 май 16, 14:31    [19163902]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 18931
Владислав Колосов
вадя,

при хорошо написанном коде ХП вообще ничего не возвращают кроме кода завершения. Это уже когда начинают "экономить" такое получается.

Возвращать результат должны функции и представления.

ну это для чего использовать.
12 май 16, 14:37    [19163941]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8828
вадя,

в общем да, но если ничего не мешает, то лучше избегать, т.к. процедура всегда возвращает заранее неизвестный набор и количество наборов для внешнего кода.
12 май 16, 14:42    [19163966]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
Adx
Guest
Владислав Колосов
вадя,

при хорошо написанном коде ХП вообще ничего не возвращают кроме кода завершения. Это уже когда начинают "экономить" такое получается.

Возвращать результат должны функции и представления.


Это кто Вам такое сказал?
В чем при этом происходит экономия?
"Хорошесть" кода состоит совсем не в этом.
12 май 16, 18:24    [19165625]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
Владислав Колосов
при хорошо написанном коде ХП вообще ничего не возвращают кроме кода завершения. Это уже когда начинают "экономить" такое получается.

Возвращать результат должны функции и представления.
Т.е. правильный подход при невозможности оформить запрос(ы) как функцию или представление, - хардкодить его на клиенте с соответствующей раздачей прав на вовлеченные объекты?

ЗЫ:Вот интересно, почему вы свои представления о том как нужно проектировать БД, навязываете остальным как абсолютную истину?
12 май 16, 18:48    [19165732]     Ответить | Цитировать Сообщить модератору
 Re: Хранимые процедуры, возвращающие несколько select`ов  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
invm,

откуда такие выводы?? нет возможности работать через представления/функции будет хп. Но подход в том что бесконечные пересчёты одного и того же для всех пользователей не должно быть, если это нужно оно должно быть расчитано и сохранено
12 май 16, 19:40    [19165959]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить