Re: Multiple inserts with two levels of foreign keys

Поиск
Список
Период
Сортировка
От Ron
Тема Re: Multiple inserts with two levels of foreign keys
Дата
Msg-id a2ba4c8c-746a-43f9-bc53-8e32cc49114b@gmail.com
обсуждение исходный текст
Ответ на Multiple inserts with two levels of foreign keys  (Dow Drake <dowdrake@gmail.com>)
Ответы Re: Multiple inserts with two levels of foreign keys
Список pgsql-general
Frame challenge: why can't you just "\copy to" the dev database tables in the correct order, to satisfy foreign key requirements?

On 10/4/23 18:59, Dow Drake wrote:
Hi,

I'm trying to write a postgresql script to replicate a hierarchical structure in a live database into my development database, where I can debug and test more easily.  I can extract the data from the live database that needs to be inserted, but I'm having trouble writing the insertion script

Here's a simplified version of the problem I'm trying to solve:
There are three tables: farms, crops and deliveries where a farm has many crops and a crop has many deliveries.

create table farms (
   id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
   name character varying(30)
);
create table crops (
   id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
   farm_id bigint not null
   name character varying(30)
);
create table deliveries (
   id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY,
   crop_id bigint not null
   ticket character varying(30)
);
I want to insert a farm record, then insert two crops associated with that farm, then insert two deliveries for each of the the two crops so that in the end, my tables look like this:
farms
id     name
1      'Happy Valley Farm'

crops
id     farm_id    name
1        1         'corn'
2        1         'wheat'

delvieries
id       crop_id    ticket
1         1          '3124'
2         2          '3127'
3         1          '3133'
4         2          '3140'

It's important that the deliveries get assigned to the right crops.  I think this post: https://dba.stackexchange.com/questions/199916
gets close to what I need, but I haven't been able to figure out how to adapt it to multiple records.

Thanks for any help on this!



--
Born in Arizona, moved to Babylonia.

В списке pgsql-general по дате отправления:

Предыдущее
От: Dow Drake
Дата:
Сообщение: Multiple inserts with two levels of foreign keys
Следующее
От: Dow Drake
Дата:
Сообщение: Re: Multiple inserts with two levels of foreign keys