t-sql将数据附加到现有数据集

时间:2013-11-13 15:48:44

标签: sql sql-server alter sql-view sql-function

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

我需要开发一种更加用户友好的方式来实现这一目标。我的第一个是填充报表编写者从我的一个表中查看项目和批号的视图,使用项目和批号调用我的函数,然后以某种方式将原始视图附加到该项目的使用和消耗事务/许多。由于报表编写器的设计方式,仅返回item / lot的原始视图必须与最终使用事务填充的视图相同。

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

1 个答案:

答案 0 :(得分: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处理(按Agonizing Row行)并为每一行调用该函数。

实际上,如果你的报告编写者支持并传递参数来调用查询并传回结果,我会看到创建存储过程。

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

不知道这是否有帮助,但祝你的查询好运!