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

看一下:变量当表名查询但又要有返回值的有关问题!

2012-03-14 
看一下:变量当表名查询但又要有返回值的问题!!!declare@aluintdeclare@tablenamevarchar(20)set@tablename

看一下:变量当表名查询但又要有返回值的问题!!!
declare   @alu   int
declare   @tablename   varchar(20)
set   @tablename   =   'byb '
set   @alu   =   (select   state   from   @tablename)
select   @alu

本问题和一般变量取表名的问题不同的是,它多了一步取返回值的问题。
set   @alu   =   (select   state   from   @tablename)这里需要把查询的结果值赋给@alu变量。如果采用exec( 'select   state   from   '   +     @tablename)这种方式的话并不能够把返回的查询值赋给@alu变量。向高手们赐教!

[解决办法]
declare @alu int
declare @tablename varchar(20)
set @tablename = 'byb '

declare @sql nvarchar(200)
set @sql=N 'select @alu=state from '+@tablename
exec sp_executesql @sql,N '@alu int output ',@alu output
select @alu

热点排行