sql >> Database teknologi >  >> RDS >> PostgreSQL

INSERT i enkelt forespørgsel i 2 tabeller postgresql

Dette kan gøres ved hjælp af et datamodificerende fælles tabeludtryk:

with new_order as (
  insert into orders (id, date) values (1, current_date)
  returning id
)
insert into completedby (employee_id, order_id)
values 
( 42 -- employee_id, 
  (select id from new_order)
);

Den første del indsættes i orders tabel og returnerer det ID, der blev indsat. Den anden del indsætter derefter rækken i completedby tabel ved at bruge det kendte medarbejder-id og hente ordre-id'et fra det forrige trin.

Rediger

hvis id kolonne i orders tabel er en serial kolonne, og du vil lade sekvensen generere den værdi, du kan også gøre det:

with new_order as (
  insert into orders (date) values (current_date)
  returning id
)
insert into completedby (employee_id, order_id)
values 
( 42 -- employee_id, 
  (select id from new_order)
);



  1. Hvor kan jeg finde filen my.ini til Windows mysql server?

  2. Hvordan tæller man den samlede ordrepris?

  3. Hvordan kan jeg få MySQL-log til at planlægge begivenheder?

  4. Gem HTML i MySQL-databasen