Hello you can wrap INSERT STATEMENT into function. Than you can do anything with result; create table f(a timestamp); postgres=# select * from (insert into f values(current_timestamp) returning *) x where x.a > now(); ERROR: syntax error at or near "into" LINE 1: select * from (insert into f values(current_timestamp) retur... ^ create or replace function if() returns setof f as $$begin return query insert into f values(current_timestamp) returning *; return; end$$ language plpgsql; postgres=# select * from if() where a > now(); a --- (0 rows) regards Pavel Stehule 2008/8/14 Dale Harris <itsupport@xxxxxxxxxxxxxx>: > Hello, > > > > I'm having the same issues as dvs had in message thread > http://archives.postgresql.org/pgsql-general/2008-05/msg01117.php as I want > to be able to use the result from an INSERT INTO table(...) VALUES(...) > RETURNING new_row_ID. > > > > I would ideally like to be able to capture the RETURNING value into a > variable to use immediately. Does anyone have a solution? > > > > Dale.