表名能不能参数化?
CREATE PROCEDURE srSelect
@tablename varchar(20),
@outt varchar(20)
AS
select @outt from @tablename
GO
报错:必须声明@tablename
我想查询时表名也用参数传递过来~
我想问一下这个过程怎么修改?
不想用exec的~~
------解决方案--------------------不想用exec的
----------------------
那就用 sp_executesql 好了,表名想参数化只能靠动态SQL
------解决方案--------------------CREATE PROCEDURE srSelect
@tablename varchar(20),
@outt varchar(20)
AS
declare @strsql varchar(4000)
set = 'select '+ @outt + ' from ' + @tablename
exec @strsql
GO