微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何在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())中.您还可以使用此技术来执行累积函数,例如行号.

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

原文地址:https://www.jb51.cc/mssql/79570.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐