加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – MS SQL Server中的自定义聚合函数?

发布时间:2021-05-22 20:36:05 所属栏目:MsSql教程 来源:网络整理
导读:如何在MS SQL Server中创建自定义聚合函数?一个例子会有很多帮助. 解决方法 SQL Server 2000不正式支持自定义聚合函数.然而,我最近也需要这个功能,我发现这篇文章有启发性: http://weblogs.sqlteam.com/jeffs/articles/1490.aspx 但这有点黑客:它需要访

如何在MS SQL Server中创建自定义聚合函数?一个例子会有很多帮助.

解决方法

SQL Server 2000不正式支持自定义聚合函数.然而,我最近也需要这个功能,我发现这篇文章有启发性:
http://weblogs.sqlteam.com/jeffs/articles/1490.aspx

但这有点黑客:它需要访问sp_OA___扩展过程.

总结是您可以使用一系列四个包装函数来模拟聚合函数,每个函数执行以下任务之一:

>创建可以在查询中保持状态的ActiveX对象.在运行查询之前调用它.

>使用ActiveX对象进行实际聚合.
>清除GROUP BY边界上的ActiveX对象状态
破坏对象在运行查询和错误处理之后调用它.

然后,您可以在查询的选择列表中包含项目2和3,并且项目2也必须包含在现有的无效果聚合函数(如MAX()或MIN())中.您还可以使用此技术来执行累积函数,例如行号.

一些评论表明,优化器可能尝试通过优化在某些情况下的呼叫来否定聚合效应,尽管我预计这将是非常罕见的情况.但是,我发现这个问题是因为我把这些警告认真地用于继续搜索更好的东西.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读