Я хочу вставити дані в 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;
Але якщо я запускаю одиничні запити, вони просто повертають мені значення, і я не можу негайно повторно використовувати їх у наступному запиті.
Як цього досягти?