首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-02-01 
表名能不能参数化?CREATEPROCEDUREsrSelect@tablenamevarchar(20),@outtvarchar(20)ASselect@outtfrom@tab

表名能不能参数化?
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

热点排行