Вставьте данные в 3 таблицы одновременно, используя Postgres

Я хочу вставить данные в 3 таблицы с помощью одного запроса.
Мои таблицы выглядят так:

CREATE TABLE sample (
   id        bigserial PRIMARY KEY,
   lastname  varchar(20),
   firstname varchar(20)
);

CREATE TABLE sample1(
   user_id    bigserial PRIMARY KEY,
   sample_id  bigint REFERENCES sample,
   adddetails varchar(20)
);

CREATE TABLE sample2(
   id      bigserial PRIMARY KEY,
   user_id bigint REFERENCES sample1,
   value   varchar(10)
);

Я получу ключ взамен каждой вставки, и мне нужно вставить этот ключ в следующую таблицу.
Мой запрос:

insert into sample(firstname,lastname) values('fai55','shaggk') RETURNING id;
insert into sample1(sample_id, adddetails) values($id,'ss') RETURNING user_id;
insert into sample2(user_id, value) values($id,'ss') RETURNING id;

Но если я запускаю отдельные запросы, они просто возвращают мне значения, и я не могу сразу же использовать их в следующем запросе.

Как этого добиться?

Ответы на вопрос(4)

Ваш ответ на вопрос