帮忙看这条语句错在那里

vclzy 2013-07-04 12:22:55
declare @m_t varchar(50)
declare @m_t1 varchar(50)
exec('update book set 总金额=(select sum(价格) from '+@m_t+' where 价值>=50 and
name in (select 编号 from t1 where name='+@m_t1+')')
执行这条语句,报@m_t1,没有声明的错误,@m_t 为一个表名,@m_t1为字符变量
...全文
322 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack15850798154 2013-07-04
  • 打赏
  • 举报
回复
引用 4 楼 vclzy 的回复:
fetch next from cursor1 into @m_t1,赋了值的
那你declare @m_t varchar(50) declare @m_t1 varchar(50) 变量声明应该放在定义游标的上面!
vclzy 2013-07-04
  • 打赏
  • 举报
回复
fetch next from cursor1 into @m_t1,赋了值的
jack15850798154 2013-07-04
  • 打赏
  • 举报
回复
declare @m_t varchar(50) SET @m_t=表名称 declare @m_t1 varchar(50) SET @m_t1=[NAME]值 PRINT 'update book set 总金额=(select sum(价格) from '+@m_t+' where 价值>=50 and name in (select 编号 from t1 where name='+@m_t1+')'
---涛声依旧--- 2013-07-04
  • 打赏
  • 举报
回复
declare @m_t varchar(50) declare @m_t1 varchar(50) set @m_t='你要查询的表名' --要赋值的 set @m_t1='你要查询的名字' exec('update book set 总金额=(select sum(价格) from '+@m_t+' where 价值>=50 and name in (select 编号 from t1 where name='+@m_t1+')')
jmx123456789 2013-07-04
  • 打赏
  • 举报
回复
变量赋值啦? 还有生命的时候给变量个默认值试试 declare @m_t varchar(50)=''

34,590

社区成员

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

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