postgresql 8.4中子查询中“select for update”的替代方法是什么?

时间:2013-05-29 09:42:24

标签: sql postgresql

我需要根据PostgreSQL 8.4中子查询的结果以原子方式更新行。在PostgreSQL 9.2中,这很有效:

UPDATE item SET status = 1 WHERE id IN 
   (SELECT id FROM item WHERE status = 3 LIMIT(1) FOR UPDATE) RETURNING ID;

但是在PostgreSQL 8.4上我出现以下错误信息:

ERROR: SELECT FOR UPDATE/SHARE is not allowed in subqueries

什么是8.4的好替代品?

1 个答案:

答案 0 :(得分:3)

您无需选择更新。它会在您的查询中自动完成。