我需要写一个存储过程,根据前面的更新语句是否成功,决定后面的语句是否执行。看了很久旧帖子说要用@@ROWCOUNT判断,但是经过我的测试,发现这种判断并不支持并发的场景,很容易因为其他sql语句的执行导致判断结果发生变化。
跪求大佬们提供支持高并发的判断方法!
MS_SQL的存储过程中,如何判断update语句执行成功 ?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 5herhom 2019-06-11 13:53关注
如图,叫做“妮瑪”的网友的写法给了我一丝希望。但是,如图中测试之后,return的内容输出的是0呀。请问是我哪里写的不对吗我个人研究了很久,发现@@ROWCOUNT的判断方式其实是支持事务的。因为mssql的是以连接为单位维护@@ROWCOUNT的,类似于Web的后台,每个用户的进程都对应同一个Session。而每个连接中的执行语句都是存在串行的事务机制的。一个Web线程对应一个Sql连接,不存在所谓并发的情况。所以,可以直接用@@ROWCOUNT
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 MATLAB动图问题
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名