| 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: | Whole Thread | Raw Message | 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.
| 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 |