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

表名为变量,该怎么解决

2012-01-03 
表名为变量declare@Anvarchar(10),@Bnvarchar(10)set@Bhrset@A 30608Hselect*from@BwhereHr_NO@A提示错

表名为变量
declare   @A   nvarchar(10),@B   nvarchar(10)
set   @B=hr
set   @A= '30608H '

select   *   from   @B   where   Hr_NO=@A


提示错误   :
服务器:   消息   137,级别   15,状态   2,行   5
必须声明变量   '@B '。


表名变量应该如何处理呢、。

[解决办法]
declare @A nvarchar(10),@B nvarchar(10)
set @B=hr
set @A= '30608H '

exec( 'select * from '+@B+ ' where Hr_NO= '+@A)

[解决办法]
在sql语句中 栏位名 或者表名是变量,那就需要使用动态sql
declare @A nvarchar(10),@B nvarchar(10)
set @B=hr
set @A= '30608H '

exec( 'select * from '+ @B+ ' where Hr_NO= '+@A)

热点排行