当前位置: 代码迷 >> Sql Server >> 表名能不能参数化?该怎么处理
  详细解决方案

表名能不能参数化?该怎么处理

热度:62   发布时间:2016-04-27 19:54:37.0
表名能不能参数化?
CREATE   PROCEDURE   srSelect
@tablename   varchar(20),
@outt   varchar(20)
  AS
select     @outt     from   @tablename
GO

报错:[email protected]

我想查询时表名也用参数传递过来~
我想问一下这个过程怎么修改?
不想用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
  相关解决方案