From: | dinesh <dinesh(at)vssod(dot)com> |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Subject: | ERROR: cannot use aggregate function in RETURNING (in UPDATE) |
Date: | 2013-03-24 20:15:41 |
Message-ID: | 1364156141160-5749475.post@n5.nabble.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
The pg UPDATE manpage states that... The syntax of the RETURNING list is
identical to that of the output list of SELECT.
(http://www.postgresql.org/docs/9.2/static/sql-update.html)
But when I use it inside a function such as:
create or replace function foo() returns void as
$$
declare keys date[];
begin
update fin set div = div where div < 0.02 returning array_agg(d) as keys;
raise notice 'updated these %', keys;
-- use the returned keys...
end; $$ language 'plpgsql';
And then run, in psql,
select * from foo();
I get an error saying cannot use aggregate function in RETURNING.
Is this a bug or a feature?
The fin table in question is a very tiny test table:
create table fin ( dt date, div real );
Will appreciate your help. What I want is the list of certain key columns
from the rows that were updated.
Thanks
Dinesh
--
View this message in context: http://postgresql.1045698.n5.nabble.com/ERROR-cannot-use-aggregate-function-in-RETURNING-in-UPDATE-tp5749475.html
Sent from the PostgreSQL - novice mailing list archive at Nabble.com.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2013-03-24 22:25:11 | Re: ERROR: cannot use aggregate function in RETURNING (in UPDATE) |
Previous Message | myunt | 2013-03-24 14:19:56 | Re: Table lookup in Postgresql |