在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中文網其他相關文章!