使用参数创建SQL视图

xor*_*wer 5 sql-server view sql-server-2008

我有一个接受参数的SQL查询.现在,当我试图将该查询包含到视图中时,我面临一个错误,因为视图不能像SP或函数那样保存参数.

因此,如果我必须创建必须包含参数的视图,那么有可能吗?

非常感谢

pra*_*een 6

我不这么认为你可以在View中创建一个参数.但是你可以创建一个带有输入参数的函数,如下所示.

CREATE FUNCTION dbo.Sample (@Parameter varchar(10))
RETURNS TABLE
AS
RETURN
(
 SELECT Field1, Field2,....
 FROM YourTable
 WHERE Field3 = @Parameter
)
Run Code Online (Sandbox Code Playgroud)


Jus*_*ony 5

不,来自MSDN

创建一个虚拟表,其内容(列和行)由查询定义.使用此语句可以在数据库的一个或多个表中创建数据视图.例如,视图可用于以下目的:

集中,简化和自定义每个用户对数据库的感知.

作为一种安全机制,允许用户通过视图访问数据,而不授予用户直接访问底层基表的权限.

提供向后兼容的接口以模拟其架构已更改的表.

所以,基本上,这就像一个表,并且可以在表中添加"参数"的唯一方法是在访问视图时通过filter语句