在 PostgreSQL 中使用 RETURNING 链接多个 INSERT
使用分层数据库结构时,通常需要将数据插入具有依赖关系的多个表中。在 PostgreSQL 中,数据修改 CTE 和 RETURNING 子句的组合提供了一种有效的解决方案。
要将新行插入到父表 table1 中并填充子表 table2 和 table3 中的相关行,请遵循以下步骤步骤:
WITH ins1 AS ( INSERT INTO table1 (username, name, surname) VALUES ('johnee','john','smith') RETURNING user_id ) , ins2 AS ( INSERT INTO table2 (user_id, password) SELECT ins1.user_id, 'secret' FROM ins1 ) INSERT INTO table3 (user_id, adress, city, phone) SELECT ins1.user_id, ... FROM ins1 RETURNING user_id;
分解 CTE链:
使用数据修改 CTE 的好处:
以上是如何在 PostgreSQL 中使用 RETURNING 高效链接多个 INSERT 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!