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

存储过程中,语句中表名是上一个select搜出来的,老出错!解决办法

2012-03-01 
存储过程中,语句中表名是上一个select搜出来的,老出错!!!declare@tblNamevarchar(50)select@tblNamedx_db

存储过程中,语句中表名是上一个select搜出来的,老出错!!!
declare   @tblName     varchar(50)      
  select   @tblName=dx_dbtable   from   #ls_dxtable   where   id=@id
  set   @tblName= 'tbo_ '+@tblName--拼接要查找的表名

  select   @jtdxSumCount=Count(*)   from     @tblName       where     isEnd=0   and           isdelete=0(这个语句里老是提示说@tblName为定义,为什么啊?)


[解决办法]
declare @sql nvarchar(1000),@jtdxSumCount int
set @sql = N 'select @jtdxSumCount=Count(*) from ' + @tblName + N ' where isEnd=0 and isdelete=0 '
exec sp_executesql @sql, N '@jtdxSumCount int output ', @jtdxSumCount output

[解决办法]
表名为变量的话,要使用动态SQL语句 正如上边的语句

热点排行