| 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: | Whole Thread | Raw Message | 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 |