Re: Need magic for inserting in 2 tables

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Andreas <maps(dot)on(at)gmx(dot)net>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Need magic for inserting in 2 tables
Date: 2010-10-03 23:46:39
Message-ID: AANLkTinibE8HA3nipALO_aGsgxYDACf0xokUiPJrq5bz@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Sun, Oct 3, 2010 at 4:14 PM, Andreas <maps(dot)on(at)gmx(dot)net> wrote:
> insert into staff ( company_fk, ..., department_fk )
> select  company_fk, ..., department_fk
> from     departments,   companies,   company_2_project  AS c2p
> where  company_id      =   c2p.company_fk
>    and c2p.project_fk    =   42
>    and department_id  in  ( 40, 50 );
>
> step 2 would be to link those new blank staff records to project 42 by
> inserting a record into staff_2_project for every new staff_id.
>
> How can I find the new staff_ids while making sure I don't insert ids from
> other sessions?
> Is there an elegant way in SQL ?

Use returning?

insert into .....
yada
returning field1, field2, field3

-- To understand recursion, one must first understand recursion.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Andreas 2010-10-04 00:47:26 Re: Need magic for inserting in 2 tables
Previous Message Andreas 2010-10-03 22:14:38 Need magic for inserting in 2 tables