课程
下载APP
源自:5-12 架构设计-超卖方案3-乐观锁case语句方案

超卖现象优化-case语句

老师您好,请问sql语句的case语句能够保证执行的原子性吗

提问者:lancoliu 2019-04-29 20:47

1个回答

  • 枫荇
    2019-04-30 19:02

    您好!@lancoliu case语句是保证不了原子性的。但可以使用case语句来测试执行值的分支,最终来确定要更新的值。update 语句是执行在事务之中,不管是自动提交还是手动提交,都存在一个事务,那么在这个事务中是满足原子操作的。case语句和原子性没有任何关系,并不能保证原子性,只是用在分支测试而已,课程中的案例是用在update 语句中,简单理解就是数据库事务中的if else代码判断而已。