You should look at the GET_DIAGNOSTICS functionality provided by Postgres
There it supports ROWCOUNT and this gives you the number of rows affected
by the UPDATE command
HTH
Darren
On Wed, 15 Oct 2003 enio@pmpf.rs.gov.br wrote:
> Hi,
> I intend to get some answer from postgres concerning if an update command
> has altered some records in the database.
> To do this I coded this function:
>
> create or replace function upd_ok(text,text,text,text) returns integer
> as '
> declare
> table alias for $1;
> field alias for $2;
> val1 alias for $3;
> val2 alias for $4;
> begin
> execute ''update '' || quote_ident(table) || '' set '' ||
> quote_ident(field) '' = '' || quote_literal(val1) ||
> '' where '' || quote_ident(field) || '' = '' ||
> quote_literal(val2);
> if found then
> raise notice ''ok'';
> else
> raise exception ''not found'';
> end if;
> return 1;
> end;
> '
> language 'plpgsql';
>
> ---
>
> This function takes four parameters for the update command and then warn the
> user if the update command has performed any change. The problem is I tested
> this function with tables, fields and values correct, and the function still
> reports that no record was altered. Issuing the update manually the changes
> are made. I think this is kind of strange, so I'm sending this to the list.
> I am using postgresql version 7.2.3
> If there are any unimplemented features, how else could I know if an update
> command altered records?
>
> Thanks in advance,
> Enio
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
--
Darren Ferguson