读书人

表名为变量,该怎么解决

发布时间: 2012-01-03 22:16:06 作者: rapoo

表名为变量
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)

读书人网 >SQL Server

热点推荐