From: | Cédric Villemain <cedric(at)2ndquadrant(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Cc: | "Willy-Bas Loos" <willybas(at)gmail(dot)com> |
Subject: | Re: insert ... returning in plpgsql |
Date: | 2012-10-02 13:13:10 |
Message-ID: | 201210021513.15929.cedric@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Le mardi 2 octobre 2012 15:01:08, Willy-Bas Loos a écrit :
> Hi,
> (postgres 9.1)
> I was doing something like this in a plpgsql function, but i got a Syntax
> Error.
>
> t_var:=(insert into table1(field2) values ('x') returning field1);
>
> Is there no support for using RETURNING in insert, update, delete queries
> to fill a variable in plpgsql?
Use the following :
INSERT ... RETURNING expressions INTO [STRICT] target;
UPDATE ... RETURNING expressions INTO [STRICT] target;
DELETE ... RETURNING expressions INTO [STRICT] target;
http://www.postgresql.org/docs/9.1/static/plpgsql-statements.html
Else if you have multiple rows do something like:
FOR my_update IN UPDATE ... RETURNING * LOOP
--
Cédric Villemain +33 (0)6 20 30 22 52
http://2ndQuadrant.fr/
PostgreSQL: Support 24x7 - Développement, Expertise et Formation
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2012-10-02 13:18:24 | Re: What's faster? BEGIN ... EXCEPTION or CREATE TEMP TABLE IF NOT EXISTS? |
Previous Message | Leif Biberg Kristensen | 2012-10-02 13:06:32 | Re: insert ... returning in plpgsql |