PostgreSQL heeft zo'n uitgebreide interpretatie van de VALUES
clausule dat het op zichzelf als subquery kan worden gebruikt.
U kunt uw vraag dus in dit formulier uitdrukken:
WITH new_invoice AS (
INSERT INTO ...
RETURNING id
),
v(a,b,c,d) AS (values
($27,$28,$29,$30),
($31,$32,$33,$34),
...
)
INSERT INTO invoiceItems (invoice_id, name, qty, price, description)
SELECT new_invoice.id, a,b,c,d FROM v, new_invoice;
Dat veronderstelt dat u het cartesiaanse product van new_invoice
. wilt invoegen en de waarden, wat meestal logisch is als new_invoice
is eigenlijk een waarde uit één rij.