在单个查询中插入到2个表中PostgreSQL

在单个查询中插入到2个表中PostgreSQL,第1张

在单个查询中插入到2个表中PostgreSQL

这可以使用修改公共表表达式的数据来完成:

with new_order as (  insert into orders (id, date) values (1, current_date)  returning id)insert into completedby (employee_id, order_id)values ( 42 -- employee_id,   (select id from new_order));

第一部分插入

orders
表中并返回插入的ID。然后,第二部分
completedby
使用已知的employee_id并将行插入表中,并从上一步中检索order_id。

编辑

如果

id
在列
orders
表是一个
serial
列,你想让序列生成,你可以做到这一点,以及价值:

with new_order as (  insert into orders (date) values (current_date)  returning id)insert into completedby (employee_id, order_id)values ( 42 -- employee_id,   (select id from new_order));


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5144352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存