From: Lou <lou@dayspringpublisher.com>
To: Christopher Swingley <cswingle@swingleydev.com>
Cc: pgsql-sql@lists.postgresql.org
Subject: Re: INSERT / UPDATE into 2 inner joined table simultaneously
Date: Wed, 6 Mar 2019 15:36:21 -0600
Message-ID: <cd018283-810e-9533-60b0-ac81dbd94840@dayspringpublisher.com> (raw)
In-Reply-To: <CAHsw449uo18j9fSxd-KZgwWSSf3nTqe2v6ho86U7OGNXFC4S2g@mail.gmail.com>
References: <38a1b75c-2a29-5833-cbd6-6b76dca019da@dayspringpublisher.com>
<CAHsw449uo18j9fSxd-KZgwWSSf3nTqe2v6ho86U7OGNXFC4S2g@mail.gmail.com>
Hi Chris,
Thank you for answering so quickly.
On 3/6/19 2:11 PM, Christopher Swingley wrote:
> Lou,
>
> On Wed, Mar 6, 2019 at 10:59 AM Lou <lou@dayspringpublisher.com> wrote:
>> How can I INSERT new rows into both tables simultaneously with automatically created id numbers, and how can I UPDATE both tables simultaneously?
> Although I have no idea why you would want to do this, you can insert
> data into two tables with one query using a common table expression:
>
> WITH cinsert AS (
> INSERT INTO c (id, name) VALUES (1, 'Jones')
> RETURNING id, name)
> INSERT INTO p (id, name) (SELECT * FROM cinsert);
>
> Cheers,
>
> Chris
Sorry, I did not clearly explain what I'm trying to do. The two tables
contain different data. The c table contains company data, and the p
table contains personal data about my contact person in that company.
The only data the two tables share is the contents of c.id which must be
inserted into the p.c_id field (so that the two tables can later be
inner joined by SELECT). I've programmed a data entry screen which shows
the fields of both tables together, so that the data for both tables can
be inserted or edited in one sitting. The data for both tables needs to
be saved at the same time so that the id number of table c can be copied
into the c_id field of table p.
Lou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: lou@dayspringpublisher.com, cswingle@swingleydev.com, pgsql-sql@lists.postgresql.org
Subject: Re: INSERT / UPDATE into 2 inner joined table simultaneously
In-Reply-To: <cd018283-810e-9533-60b0-ac81dbd94840@dayspringpublisher.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox