首页 > 解决方案 > 在同一个插入中使用值并从中选择

问题描述

我正在尝试在同一个插入中使用“select from”和“values”,但出现错误:

with insert_user as(
 insert into users (user_name) values ('omni')
 returning *
),
insert_articles as( 
 insert into articles (article_text, user_id)
 values ('article text')
 select insert_users.id
 from insert_users
);

标签: sqlpostgresql

解决方案


插入不需要第二个 CTE。只需将其放在外部查询中,它应该可以工作:

with insert_user as(
 insert into users (user_name) values ('omni')
 returning *
)
insert into articles (article_text, user_id)
select 'article text',insert_user.id 
from insert_user;

演示:db<>fiddle


推荐阅读