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

jol_boy 2007-08-23 11:57:05
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为定义,为什么啊?)
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjexe 2007-08-23
  • 打赏
  • 举报
回复
表名为变量的话,要使用动态SQL语句 正如上边的语句
Limpire 2007-08-23
  • 打赏
  • 举报
回复
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

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧