我有3个表:“新闻”,“要求”,“条件”。新闻-基本表格。从“新闻”到合并(news_mechanic)的需求和条件依赖性。如何通过单个查询一次将数据插入所有表。我知道,我必须使用扳机。但是,怎么做呢?
CREATE TABLE news (id_news SERIAL PRIMARY KEY, text_news VARCHAR NULL, date_created date NULL).
CREATE TABLE conditions (id, gender_men boolean NULL, gender_women boolean NULL, age_from INTEGER NULL, age_to INTEGER NULL, etc).
CREATE TABLE requirements (id, name VARCHAR, mechanic_test, mechanic_cunsultation, etc).
答案 0 :(得分:0)
使用CTE:
with news_i as (
insert into news( . . . )
. . .
returning (*)
),
conditions_i as (
insert into conditions ( . . . )
. . .
returning (*)
)
insert into requirements ( . . . )
. . .;
每个CTE返回要插入的值,因此可以在查询的后续逻辑中使用它们。我在您的数据模型中看不到外键关系,所以我不知道您是否需要其他表中的一个数据。