在sql server中使用变量保存视图

时间:2015-04-30 09:56:16

标签: sql sql-server-2008-r2

我在sql server 2008 R2中设计了一个复杂的视图。其类似如下 -

SELECT column1,column1 FROM Table WHERE column3=@VarName

我想保存它。但是我得到了以下信息 -

  

必须声明标量变量“@VarName”。

任何帮助?

2 个答案:

答案 0 :(得分:2)

您可以创建一个功能而不是视图。

create function fntest(@varname varchar(max))
returns table as
Return (
SELECT column1,column1 FROM Table WHERE column3=@VarName
)

答案 1 :(得分:0)

视图是一种数据库对象,它接近表,除了不存储数据本身,如表。

视图本身限制使用ORDER BY子句,参数等元素......

如果您想处理从主代码传递的变量或参数,请使用user defined functions (UDFs)

表值函数(TVF)与视图类似,可以在JOIN clause的主代码中使用它们,也可以接受参数。