sql server创建视图添加where条件,条件包含一个参数

执行查询的时候,把该参数的值传进去进行查询
2024-11-18 06:19:32
推荐回答(3个)
回答1:

视图是不可以传递参数的,如果要传参数可以考虑用存储过程等方法来解决。

如,要做一个查询,其中表名是参数。

创建存储过程

create proc p_test
(@tablename varchar(20))
as
declare @sql varchar(2000)
begin
set @sql='select * from '+ @tablename +''
exec (@sql)
end

执行存储过程

exec p_test 'test'

说明,其中在执行存储过程中,exec是执行,p_test是要被执行的存储过程,test是输入参数

回答2:

视图就是一个表,不能传参,如果需要传参请使用表值函数

回答3:

创建视图时可以去掉那个条件,将所有记录查出来,当你执行查询的时候,在将条件带上。
select * from viewName where ...