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