Rumah >pangkalan data >tutorial mysql >Bagaimana Multi-Column RETURNING Boleh Meningkatkan Sisipan PostgreSQL Merentasi Berbilang Jadual?
Menggunakan Multi-Column RETURNING untuk Sisipan PostgreSQL yang Cekap
Dalam dunia pengurusan data, keupayaan untuk melakukan berbilang sisipan dengan satu RETURNING klausa boleh menyelaraskan operasi dan meningkatkan kecekapan. Artikel ini menyelidiki selok-belok operasi berbilang sisipan dengan PostgreSQL 9.3, mempamerkan cara memasukkan data dengan lancar ke dalam berbilang jadual anak sambil mendapatkan ID yang baru dijana.
Senario melibatkan tiga jadual:
Tugas di tangan adalah untuk memasukkan data ke dalam jadual1 dan pada masa yang sama mengisi lajur user_id dalam jadual2 dan jadual3 dengan id_pengguna yang baru dijana.
Untuk mencapainya, kami menggunakan Ungkapan Jadual Biasa (CTE) yang mengubah suai data. CTE membolehkan kami menggabungkan berbilang pernyataan SQL ke dalam satu unit, memperkemas proses pemasukan. Berikut ialah pecahan terperinci pelaksanaan CTE:
WITH ins1 AS ( -- Insert into 'table1' INSERT INTO table1 (username, name, surname) VALUES ('johnee', 'john', 'smith') RETURNING user_id ), ins2 AS ( -- Insert into 'table2' with 'user_id' from 'ins1' INSERT INTO table2 (user_id, password) SELECT ins1.user_id, 'secret' FROM ins1 -- No need to return anything here ) INSERT INTO table3 (user_id, adress, city, phone) -- Insert into 'table3' with 'user_id' from 'ins1' SELECT ins1.user_id, ... FROM ins1 RETURNING user_id;
Butiran pelaksanaan utama:
Ringkasnya, menggunakan multi-insert dengan RETURNING dalam PostgreSQL membenarkan sisipan satu kelompok merentas berbilang jadual, mengurangkan kerumitan dan mengoptimumkan prestasi. CTE yang mengubah suai data menyediakan cara yang mudah untuk mencapai matlamat ini, menawarkan penyelesaian yang sangat dipercayai dan cekap untuk aliran kerja pemasukan data yang kompleks.
Atas ialah kandungan terperinci Bagaimana Multi-Column RETURNING Boleh Meningkatkan Sisipan PostgreSQL Merentasi Berbilang Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!