Anda dapat menggunakan CTE, jika Anda menginginkan ini semua dalam satu pernyataan:
with foo as (
select * from ...
),
b as (
insert into bar
select * from foo
returning *
)
insert into baz
select * from foo;
Catatan:
- Anda harus menyertakan daftar kolom dengan
insert. - Anda harus menentukan nama kolom secara eksplisit untuk
select *. Ini penting karena kolom mungkin tidak cocok di kedua tabel. - Saya selalu menggunakan
returningdenganupdate/insert/deletedi CTE. Ini adalah kasus penggunaan normal -- misalnya, Anda bisa mendapatkan id serial dari sisipan.