过程返回多个值

时间:2011-09-28 07:06:20

标签: sql sql-server-2005 stored-procedures

我有一个数据库,可以维护与我的应用程序的交互,这是一种日志类型。

我想生成一个月内每天总互动的报告。编写一个可以返回30个值的过程的最佳方法是什么,每个值代表一天的计数?

我正在使用SQL Server 2005.我在.NET代码中检索这些值,我想在其上运行我的算法。

感谢。

2 个答案:

答案 0 :(得分:1)

您的SQL查询将如下所示。

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

在.NET中,您可以使用SqlDataReader并将值存储在List

答案 1 :(得分:1)

存储过程通常返回结果集 - 您在此处想要的是存储过程中的简单SELECT语句。根据您使用的技术,您可以使用SqlDataReader将数据恢复到您自己的结构中,或SqlDataAdapter将其全部存储到DataSet对象中。

所以我们把它分解为两个任务:(1)写一个SELECT来产生你想要的数据,(2)在app / service中使用DR / DA来检索它。

evpo给出了第一个很好的例子。