CLR SQL Server 2005 过程将存储过程结果作为参数
我有一个存储过程,它返回一个行集,我想将其传递到 CLR 存储过程中以执行一些高级计算。
我该如何设置呢?接受输入?在 CLR 过程中迭代行集?
I have a stored procedure that returns a rowset that I'd like to pass into a CLR stored procedure to do some advanced calculations.
How would I set this up? Take the input? Iterate the rowset within the CLR procedure?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最好的办法是让 CLR 过程本身使用普通的 SqlCommand 执行存储过程,并像普通的 SqlDataReader 一样迭代结果。这是最好的方法,因为您可以避免结果的额外副本。
The best would be to have the CLR procedure execute the stored procedure itself, with an ordinary SqlCommand and iterate over the result as an ordinary SqlDataReader. This is the best way, since you avoid the extra copy of the result.
另一种选择是设置 SQLCLR 聚合函数。根据公式的结构,这可能是更自然的语法。
Another option would be to set up a SQLCLR Aggregate function. Depending on the structure of your formula, this might be a more natural syntax.