我可以用带有视图的参数替换非常复杂的SQL Select吗?

时间:2016-02-29 04:34:17

标签: sql-server

我有一个多表SQL Select,超过150行,有两个输入参数在select的一个内部区域内使用。它们不仅仅用于限制最后检索数据的位置。参数用于选择的内部区域。

现在,SQL Select是具有两个输入参数的存储过程的一部分。它始终从其他存储过程调用。

用视图替换它是不是一个好主意,如果可以,我可以以某种方式为视图提供输入参数?

1 个答案:

答案 0 :(得分:1)

据我所知,您无法使用参数创建视图。相反,您可以创建一个接受输入参数的函数。

CREATE FUNCTION test.func (@Parameter varchar(10))
RETURNS TABLE
AS
RETURN
(
 SELECT Field1, Field2,....
 FROM table1
 WHERE Field3 = @Parameter
);

基本上,视图就像表一样,并且在表中添加“parameters”的唯一方法是在访问视图时通过过滤语句。