Memasukkan Berbilang Nilai ke dalam Jadual Anak Menggunakan INSERT PostgreSQL...RETURNING dan CTEs
Untuk memasukkan user_id yang baru diekstrak daripada jadual induk jadual1 ke dalam jadual anak table2 dan table3, PostgreSQL menyediakan penyelesaian yang elegan menggunakan pengubahsuaian data Ungkapan Jadual Biasa (CTE).
Menggunakan CTE, kami boleh merantai beberapa pernyataan INSERT untuk melaksanakan berbilang operasi dalam satu transaksi:
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;
Kod ini mengikut proses langkah demi langkah :
Kunci Mata:
Atas ialah kandungan terperinci Bagaimanakah CTE PostgreSQL dan INSERT...RETURNING Boleh Memasukkan Data dengan Cekap ke dalam Jadual Ibu Bapa dan Anak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!