0

我有一个报告编写器,可以让我直接查询我的数据库,但是查询必须从 SQL 视图中选择。我必须开发很多跟踪解决方案,但由于涉及的逻辑,到目前为止,我能够做到这一点的唯一方法是在 SQL 语句离开报告编写器之前劫持它并将其指向一个函数(而不是视图)。

我需要开发一种更加用户友好的方式来实现这一点。我的第一个想法是用我的一个表中的项目和批号填充报告编写者看到的视图,用项目和批号调用我的函数,然后以某种方式在原始视图中附加该项目的使用和消费交易/很多。由于报表编写器的设计方式,仅返回项目/批次的原始视图必须与最终填充交易的视图是同一对象。

有没有办法将 alter view 语句用作查询的一部分?有没有更好的方法来实现这个目标?我有点迷失在这里。

4

1 回答 1

0

好吧,没有评论的声誉,并且看到这是 SQL Server,您可以执行以下操作吗?:

SELECT st.*
, dbo.ufn_usage_and_consumption(st.item_number, st.lot_number)
from some_table st

基本上,您同时调用视图和视图的 FOR EACH ROW,调用 SQL Server 函数。

请注意,这不是最优的。您实际上是在进行 RBAR 处理(Row by Agonizing Row)并为每一行调用函数。

真的,如果您的报告编写器支持并传递参数以调用查询并将结果传回,我会看到有关创建存储过程的信息。

我做出以下假设:1)从函数返回的数据是标量(只有一个值),如果不是,您可以将其作为逗号分隔的字符串返回

不知道这是否有帮助,但祝您查询顺利!

于 2013-11-13T20:46:39.793 回答