在视图中为SQL Server函数提供参数

时间:2018-06-06 21:26:44

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

我有一个观点

Create View v1 
as
    select a.Explanation1, a.Explanation2
    from fx_getData(null, null) data
    inner join Explanations1 a on data.Explanation1ID = a.ID
    inner join Explanations2 b on data.Explanation2ID = b.ID

功能是

create function fx_getData
    (@year varchar(4) = NULL,
     @month varchar(2) = NULL)
return
(
    select *   
    from data 
    where year = @year and month = @month
)

我想从视图中将参数传递给此函数,否则它将运行很长时间。

我该怎么做?

编辑:视图的参数需要来自此应用的用户界面。 它必须是某种参数化视图,否则查询将变成类似: -

select * from v1 where year = 'y1'

这将从函数中获取所有内容并从这些值中进行选择。 因此它会运行很长时间。

如何先过滤然后加入?

0 个答案:

没有答案