select from update from select? - Mailing list pgsql-sql

From Dave Gomboc
Subject select from update from select?
Date
Msg-id b2nvfo$9ro$1@pulp.srv.ualberta.ca
Whole thread Raw
List pgsql-sql
I'm not sure if this is the correct place for this question.  If it
isn't, I'd appreciate a pointer to a better.

Here is my pseudo-SQL (formatted for readability):

select work_queue_id from   (update work_queue_table set worker_id = 5,                                reservation_time
='now()'                            where work_queue_id in       (select work_queue_id from work_queue,
optimization_task_table                            where reservation_time is null                               and
concordanceis null                             order by priority descending limit 1       )   )
 

I am trying to do the following (using PostgreSQL 7.3.2):

1. reserve a row (which represents some work to be done) in my
work_queue_table based on certain conditions (a: that work hasn't
already been reserved; b: there is no work considered to be of higher
priority than it available)

2. get the primary key (work_queue_id) of that reserved row.

I'm wondering what changes I would need to make to my pseudo-SQL to
make it legitimate.  I'm trying to avoid a two-step process of
attempting to reserve a row, then checking to see which -- if any --
row was actually reserved.

If it matters, I'm writing my code in C++, and using libpqxx (1.4.1)
to interface to the database.

Dave

-- 
Dave Gomboc
M.Sc. Student                                1-41 Athabasca Hall
Department of Computing Science              Edmonton, Alberta,
University of Alberta                        Canada  T6G 2E5


pgsql-sql by date:

Previous
From: "betty"
Date:
Subject: trigger after with cursor
Next
From: George
Date:
Subject: