1

我不熟悉在查询中调用存储函数和存储过程。有人可以帮助我了解如何比我在下面更好地调用存储的函数。似乎必须有一种更现实、更合乎逻辑的方式才能让代码流动起来。这似乎有点疯狂。

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)
4

1 回答 1

0

您的查询不起作用吗?或者您是否正在寻找一种更好的书写方式。

如果它不起作用,请检查以确保它是表值函数。

我还会查看该功能的使用频率。只有当我可以整合跨多个存储过程使用的代码以便于维护时,我才更喜欢使用函数。

如果该函数仅用于这一存储过程,请考虑在临时表或 CTE 中创建数据集并引用它。

我从您的查询中可以看出,您实际上是从函数返回的表中取出一列的总和。为什么要费心使用一个函数呢?您可以将该逻辑从函数中取出并将其直接放入查询中。

于 2013-02-02T01:00:44.270 回答