【发布时间】:2011-10-09 11:20:37
【问题描述】:
我想一次性完成以下操作:
SELECT * FROM jobs WHERE status='PENDING';
UPDATE jobs SET status='RUNNING' WHERE status='PENDING';
所以获取所有待处理的作业,然后立即将它们设置为“正在运行”。
我不想在两个语句中一个接一个地执行此操作的原因是,可以在 SELECT 之后但在 UPDATE 之前将作业作为“PENDING”添加到作业表中,因此我最终将作业设置为RUNNING 即使它处于 PENDING 状态时我还没有抓住它。
有没有办法合二为一?所以我希望 SELECT 和 UPDATE 的结果即时发生。
谢谢。
【问题讨论】:
标签: postgresql select