动态SQL里面设置变量变量值的问题

windstore 2009-06-05 03:14:10

DECLARE @SUMCOUNT INT
exec('SELECT '+@SUMCOUNT+'=SUM(COUNTS) FROM #TEMP')
update #temp set counts=@SUMCOUNT where code='CC'
SELECT * FROM #temp


我这样写报错,提示语法错误
消息 102,级别 15,状态 1,第 1 行
'=' 附近有语法错误。
...全文
31 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
windstore 2009-06-05
  • 打赏
  • 举报
回复
搞定 谢谢
olddown 2009-06-05
  • 打赏
  • 举报
回复
把exec('SELECT '+@SUMCOUNT+'=SUM(COUNTS) FROM #TEMP')
中的@SUMCOUNT改成cast(@SUMCOUNT as varchar(20))
子陌红尘 2009-06-05
  • 打赏
  • 举报
回复
DECLARE @SUMCOUNT INT,@SQL NVARCHAR(4000)
SET @SQL=N'SELECT @SUMCOUNT=SUM(COUNTS) FROM #TEMP'
EXEC SP_EXECUTESQL @SQL,N'@SUMCOUNT INT OUT',@SUMCOUNT OUT

update #temp set counts=@SUMCOUNT where code='CC'
SELECT * FROM #temp

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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