我有逻辑从数据库中选择一些状态为“就绪”的行一旦我得到结果集,我需要将状态更新为’processing’,因此没有其他线程可以访问这些行.然后我必须对结果集中的记录执行一些逻辑,并且一个处理完成后我需要再次将记录状...

我有逻辑从数据库中选择一些状态为“就绪”的行
一旦我得到结果集,我需要将状态更新为’processing’,因此没有其他线程可以访问这些行.然后我必须对结果集中的记录执行一些逻辑,并且一个处理完成后我需要再次将记录状态更新为完成.
问题:
有没有办法当我执行select语句时 – 那时我只能同时改变结果集中返回的行的状态.
有人可以建议是否有一种在java中实现它的好方法.
解决方法:
您可以在事务中SELECT … FOR UPDATE NOWAIT在更新它们之前要处理的行. SELECT … FOR SHARE NOWAIT将失败,如果有人正在更新选定的行或某人已经完成了SELECT … FOR SHARE NOWAIT on them.
细节here.
织梦狗教程
本文标题为:java – 我们可以一起选择和更新数据库吗?


基础教程推荐
猜你喜欢
- Java项目——模拟ATM(控制台连接Mysql数据库) 2023-11-01
- Java算法设计与分析分治算法 2023-03-21
- Spring Boot实现文件上传下载 2023-04-12
- mybatis中关于type-aliases-package的使用 2023-04-12
- 关于springboot中对sqlSessionFactoryBean的自定义 2023-08-07
- Spring框架中@PostConstruct注解详解 2023-03-06
- java – 基于JDBC的HSQLDB:批量执行SQL语句 2023-11-01
- springboot通过jar包启动中文日志乱码问题及解决 2023-02-10
- Future与FutureTask接口实现示例详解 2023-06-10
- Java并发编程进阶之线程控制篇 2023-03-06