Re: INSERT / UPDATE into 2 inner joined table simultaneously - Mailing list pgsql-sql

From Lou
Subject Re: INSERT / UPDATE into 2 inner joined table simultaneously
Date
Msg-id cd018283-810e-9533-60b0-ac81dbd94840@dayspringpublisher.com
Whole thread Raw
In response to INSERT / UPDATE into 2 inner joined table simultaneously  (Lou <lou@dayspringpublisher.com>)
Responses Re: INSERT / UPDATE into 2 inner joined table simultaneously
Re: INSERT / UPDATE into 2 inner joined table simultaneously
List pgsql-sql
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



pgsql-sql by date:

Previous
From: Christopher Swingley
Date:
Subject: Re: INSERT / UPDATE into 2 inner joined table simultaneously
Next
From: Christopher Swingley
Date:
Subject: Re: INSERT / UPDATE into 2 inner joined table simultaneously