How to catch the id in a INSERT INTO ... RETURNING function?

From: A B <gentosaker(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: How to catch the id in a INSERT INTO ... RETURNING function?
Date: 2009-02-01 10:37:52
Message-ID: dbbf25900902010237l512eaeb2g4c8dcf52240d968f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi.
I have a table foo(id serial primary key, b int); and I want an insert function

create or replace function insert_to_foo(bvalue integer) returns integer as
declare
newindex integer;
begin
... insert into foo (a,b) values (default,bvalue) returning id
.... <---- THIS LINE
-- do more with newindex here
return newindex;
end;

Well, the problem is that I want the id of the new post to be saved
into the newindex variable for further actions. But how do I catch the
value into the variable?
Should I do:

select id from insert into foo (a,b) values (default,bvalue) returning id;
?

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Grzegorz Jaśkiewicz 2009-02-01 11:05:17 Re: ALTER TABLE with TYPE serial does not work
Previous Message Scott Marlowe 2009-02-01 10:36:40 Re: ALTER TABLE with TYPE serial does not work