【问题标题】:Procedure returning multiple values返回多个值的过程
【发布时间】:2023-04-04 15:01:01
【问题描述】:

我有一个数据库,它维护与我的应用程序的交互,一个日志类型。

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

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

谢谢。

【问题讨论】:

  • 您是否在任何表中存储了访问次数?如果存储然后给出你的表结构。

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


【解决方案1】:

您的 sql 查询将如下所示。

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

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

【讨论】:

    【解决方案2】:

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

    因此,我们将其分解为两个任务:(1) 编写 SELECT 以生成您想要的数据,(2) 在应用/服务中使用 DR/DA 来检索它。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      • 2015-10-06
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 2021-10-17
      相关资源
      最近更新 更多