gpt4 book ai didi

postgresql - 选择后postgres更新

转载 作者:行者123 更新时间:2023-11-29 11:08:24 25 4
gpt4 key购买 nike

我想一次性完成以下操作:

SELECT * FROM jobs WHERE status='PENDING';
UPDATE jobs SET status='RUNNING' WHERE status='PENDING';

因此获取所有挂起的作业,然后立即将它们设置为“RUNNING”。

我不想在两个语句中一个接一个地执行它的原因是作业可以在 SELECT 之后但在 UPDATE 之前作为“PENDING”添加到作业表中,所以我最终将作业设置为正在运行,即使我在它处于 PENDING 状态时还没有捕获它。

有没有办法一次性做到这一点?所以我希望 SELECT 和 UPDATE 的结果即时发生。

谢谢。

最佳答案

为什么不使用 RETURNING 子句并在一条语句中处理两件事:

UPDATE jobs 
SET status='RUNNING'
WHERE status='PENDING'
RETURNING *

这样,您将通过单个原子操作获得被 UPDATE 更改的所有行。

关于postgresql - 选择后postgres更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6763692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com