Re: returning the primary key value

From: vishal saberwal <vishalsaberwal(at)gmail(dot)com>
To: Michael Fuhr <mike(at)fuhr(dot)org>
Cc: Jason Tesser <JTesser(at)nbbc(dot)edu>, pgsql-general(at)postgresql(dot)org
Subject: Re: returning the primary key value
Date: 2005-09-22 22:40:00
Message-ID: 3e74dc2505092215408db5e97@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

hi,

If this primary key is a guid or a number that you create as unique, create
it local to your function and then return the same after inserting within
the function.

create or replace function test_insert() returns guid as $$
DECLARE
ret guid;
BEGIN
select into ret newid();
-- ret is the primary key for the table "Table_a"
insert into table_a (ret, "Value1","Value2");
if not found then
..............
end if;
return ret;
END;
$$ language plpgsql;

your question is too abstract, i tink we will nee more information to solve
your problem

vish

On 9/21/05, Michael Fuhr <mike(at)fuhr(dot)org> wrote:
>
> On Wed, Sep 21, 2005 at 02:22:22PM -0500, Jason Tesser wrote:
> > I have a stored proc in which I want to retur the primary key of
> > an insert statement that the stored proc just ran. How can I do
> > that?
>
> If the primary key is a SERIAL column then see "How do I get the
> value of a SERIAL insert?" in the FAQ:
>
> http://www.postgresql.org/docs/faqs.FAQ.html#4.11.2
>
> --
> Michael Fuhr
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message CSN 2005-09-22 23:35:54 Re: Finding (and deleting) dupes in relation table
Previous Message Bruce Momjian 2005-09-22 22:04:55 Re: Lines of code in PG 8.0 & 8.1?