我是查询中调用存储函数和存储过程的新手。有人可以帮助我理解如何更好地调用存储的函数,而不是我在下面。似乎必须有一种更现实,更符合逻辑的方式,以便代码流动。这似乎有点疯狂。
SELECT SUM(TotalAmt) AS [Total Amount]
FROM dbo.fDataamount('1', @startdate, @enddate, '1', '1', 'Total', 'Total', 'Total', 'Total', '1', '1', '1', '1', '1') AS fDataamount_1
WHERE (DataID = 55)
答案 0 :(得分:0)
您的查询无效吗?或者您正在寻找更好的写作方式。
如果它不起作用,请检查以确保它是一个表值函数。
我还会看看该功能的使用频率。我更喜欢只在我能整合多个存储过程中使用的代码以便于维护时才使用函数。
如果该函数仅用于此一个存储过程,请考虑在临时表或CTE中创建数据集并改为引用该数据集。
我可以从您的查询中发现,您实际上是从函数返回的表中获取列的总和。为什么要使用功能呢?您可以将该逻辑从函数中取出并直接放入查询中。