Plpgsql Language Feature? - Mailing list pgsql-sql

From David Hartwig
Subject Plpgsql Language Feature?
Date
Msg-id 36C359C7.60932427@insightdist.com
Whole thread Raw
Responses Re: [SQL] Plpgsql Language Feature?  (jwieck@debis.com (Jan Wieck))
List pgsql-sql
In the context of a plpgsql script is a possible to access the number of rows effected by an UPDATE or DELETE statement?   It could be used  to simplify, and probably improve performance on, many scripts.   I would like to do something like:

    update foo set bar = bar + new.amount where key = new.key;

    if ROWS_UPDATED > 0 then
        --  This would be less likely to occur
        insert into foo (key, bar) values (new.key, new.bar);
    end if;

Otherwise I must construct  an additional SELECTstatement to see if the row exists.  Something like:

    select  1 from foo where key = new.key;
 
    if found then
        update foo set bar = bar + new.amount where key = new.key;
    else
        insert into foo (key, bar) values (new.key, new.bar);
    end if;

Might this be a worth while feature if it does not now exist?

TIA.

pgsql-sql by date:

Previous
From: TSchoessow@t-online.de (Thomas Schoessow)
Date:
Subject: unsubscribe
Next
From: "Lawrenzo D'Wolcoto"
Date:
Subject: PSQL SELECT Question.