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
>
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? |