Процедура возврата нескольких значений - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть база данных, которая поддерживает взаимодействие с моим приложением, виды журналов.

Я хочу создавать отчеты по общему количеству взаимодействий в день за месяц.Каков наилучший из возможных способов написания процедуры, которая возвращала бы до 30 значений, каждое из которых представляло бы счет за день?

Я использую SQL Server 2005. Я получаю эти значения в коде .NET послекоторый я хочу запустить мой алгоритм.

Спасибо.

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Хранимые процедуры часто возвращают наборы результатов - здесь вам нужен простой оператор SELECT в вашей хранимой процедуре. В зависимости от того, какую технологию вы используете, вы можете использовать SqlDataReader, чтобы вернуть данные в ваши собственные структуры, или SqlDataAdapter, чтобы собрать их все в DataSet объект.

Итак, мы разбили его на две задачи: (1) напишите SELECT, чтобы получить нужные данные, (2) используйте DR / DA в приложении / сервисе для его получения.

evpo дает хороший пример первого.

1 голос
/ 28 сентября 2011

Ваш sql-запрос будет выглядеть следующим образом.

select top 30 DATEPART(day, InteractionDate) as Day, COUNT(1) as Interactions from logTable group by DATEPART(day, InteractionDate)

В .NET вы можете использовать SqlDataReader и сохранять значения в списке

...