这可以使用修改公共表表达式的数据来完成:
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));
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)