cte tsql使用变量

时间:2015-06-05 13:59:07

标签: tsql common-table-expression

我有一个表函数,它包含一些CTE表,最终汇总到返回的select语句。在其中一个CTE表中,我使用了@variable。这是我为函数声明的@variable。当我尝试保存该功能时,我收到此错误:

ApplicationController

在CTE表中使用@variable是否有问题?我可以提供代码,但似乎没有将函数@variable传递给CTE表,所以编译器不喜欢它。

Lookup Error - SQL Server Database Error: Parameters were not supplied for the function 'forecast_baseline'.

1 个答案:

答案 0 :(得分:2)

错误是因为您已将CTE命名为您的函数名称。更改第二个CTE名称:

...
 WHERE 
 DATEADD(month, @Interval, enddatetimemonth) < @EndTime
), 

forecast_baseline (
...

以任何其他名称。

此外,您需要在结果表中使用UNION ALL而不是单独的2个插入,因为您只有1次查询CTE的可能性。您无法多次查询CTE