Ik weet dat deze vraag oooolllllld is en mijn oplossing is aantoonbaar te ingewikkeld, maar dat is mijn favoriete soort oplossing!
Hoe dan ook, ik moest hetzelfde doen en kreeg het als volgt werkend:
-- Get count from INSERT
WITH rows AS (
INSERT INTO distributors
(did, dname)
VALUES
(DEFAULT, 'XYZ Widgets'),
(DEFAULT, 'ABC Widgets')
RETURNING 1
)
SELECT count(*) FROM rows;
-- Get count from UPDATE
WITH rows AS (
UPDATE distributors
SET dname = 'JKL Widgets'
WHERE did <= 10
RETURNING 1
)
SELECT count(*) FROM rows;
Een dezer dagen moet ik er echt toe komen om een liefdessonnet te schrijven naar de WITH-clausule van PostgreSQL ...