我需要写一个存储过程,根据前面的更新语句是否成功,决定后面的语句是否执行。看了很久旧帖子说要用@@ROWCOUNT判断,但是经过我的测试,发现这种判断并不支持并发的场景,很容易因为其他sql语句的执行导致判断结果发生变化。
跪求大佬们提供支持高并发的判断方法!

MS_SQL的存储过程中,如何判断update语句执行成功 ?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 5herhom 2019-06-11 13:53关注
如图,叫做“妮瑪”的网友的写法给了我一丝希望。但是,如图中测试之后,return的内容输出的是0呀。请问是我哪里写的不对吗我个人研究了很久,发现@@ROWCOUNT的判断方式其实是支持事务的。因为mssql的是以连接为单位维护@@ROWCOUNT的,类似于Web的后台,每个用户的进程都对应同一个Session。而每个连接中的执行语句都是存在串行的事务机制的。一个Web线程对应一个Sql连接,不存在所谓并发的情况。所以,可以直接用@@ROWCOUNT
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报