Re: how to insert multiple rows and get the ids back in a temp table (pgplsql)?

From: Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl>
To: Bret Green <bret(dot)green(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: how to insert multiple rows and get the ids back in a temp table (pgplsql)?
Date: 2010-09-19 16:25:46
Message-ID: ADBA507F-E2F5-4683-AFCB-B59DEA393F0A@solfertje.student.utwente.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 19 Sep 2010, at 3:43, Bret Green wrote:

> how can I do the following in plpgsql?
>
> insert multiple rows in a table
>
> get the ids (serial) into a temp table (not the client)
>
>
> for one row it will be like this
>
> insert into mytable(mycolumn)values(123)returning id into some_variable;

You can do that for multiple rows just fine, you don't even need plpgsql for that:

development=> \d test
Table "public.test"
Column | Type | Modifiers
--------+---------+-----------
i | integer |

development=> INSERT INTO test (i) select x from generate_series(4, 10) t(x) ret
urning i;
i
----
4
5
6
7
8
9
10
(7 rows)

INSERT 0 7

Alban Hertroys

--
If you can't see the forest for the trees,
cut the trees and you'll see there is no forest.

!DSPAM:737,4c96398f10255076983698!

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Thom Brown 2010-09-19 17:47:20 Re: Database not starting up for hot standby
Previous Message hubert depesz lubaczewski 2010-09-19 14:12:51 Re: how to insert multiple rows and get the ids back in a temp table (pgplsql)?