我在sql server 2008 R2中设计了一个复杂的视图。其类似如下 -
SELECT column1,column1 FROM Table WHERE column3=@VarName
我想保存它。但是我得到了以下信息 -
必须声明标量变量“@VarName”。
任何帮助?
答案 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
的主代码中使用它们,也可以接受参数。