PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Rufen Sie die Anzahl der Datensätze ab, die von INSERT oder UPDATE in PostgreSQL betroffen sind

Ich weiß, diese Frage ist oooolllllld und meine Lösung ist wohl zu komplex, aber das ist meine Lieblingslösung!

Wie auch immer, ich musste dasselbe tun und es funktionierte so:

-- 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;

Eines Tages muss ich wirklich dazu kommen, ein Liebessonett zur WITH-Klausel von PostgreSQL zu schreiben ...