SQLSERVER更新返回值的问题

Carpathia 2018-11-06 01:03:13
正常语句:
UPDATE table1 with(ROWLOCK) SET mark=mark-100
OUTPUT inserted.mark as mark1 WHERE id=10000
现在要把里面这个mark1赋值给一个变量,发现参数出错,有大神指导怎么传这个参数吗?以下的语句无法执行,报错
关键字 'UPDATE' 附近有语法错误。
SET @t1=
(
UPDATE table1 with(ROWLOCK) SET mark=mark-100
OUTPUT inserted.mark as mark1 WHERE id=10000
)

...全文
387 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangqing 2018-11-07
  • 打赏
  • 举报
回复
新的方法就用output,老方法就用楼上的
zjcxc 2018-11-06
  • 打赏
  • 举报
回复
UPDATE table1 with(ROWLOCK) SET @t1=mark-100,mark=@t1
WHERE id=10000
二月十六 2018-11-06
  • 打赏
  • 举报
回复
试试这样
DECLARE @t1 TABLE(t1 NVARCHAR(200))
UPDATE table1 with(ROWLOCK) SET mark=mark-100
OUTPUT inserted.mark INTO @t1 WHERE id=10000

SELECT * FROM @t1

22,300

社区成员

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

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