insert ... returning in plpgsql - Mailing list pgsql-general

From Willy-Bas Loos
Subject insert ... returning in plpgsql
Date
Msg-id CAHnozThMZYygzmcGQNDuVBb6jW=2j7ZvytR=8eKdWarVW8jhdg@mail.gmail.com
Whole thread Raw
Responses Re: insert ... returning in plpgsql  (Leif Biberg Kristensen <leif@solumslekt.org>)
Re: insert ... returning in plpgsql  (Cédric Villemain <cedric@2ndquadrant.com>)
List pgsql-general
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?


Here's some code. Returns/Notices as --comment:
create table table1(field1 serial primary key, field2 text not null);
--NOTICE:  CREATE TABLE will create implicit sequence "table1_field1_seq" for serial column "table1.field1"
--NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "table1_pkey" for table "table1"
--Query returned successfully with no result in 224 ms.

create or replace function test(p_val text) returns integer as $$
declare
    t_out integer;
begin
    t_out:=(insert into table1(field2) values ($1) returning field1);
return t_out;
end $$
language plpgsql strict;
--ERROR:  syntax error at or near "into"
--LINE 6:  t_out:=(insert into table1(field2) values ($1) returning fi...

insert into table1(field2) values ('a') returning field1
--1


Cheers,

WBL

--
"Quality comes from focus and clarity of purpose" -- Mark Shuttleworth

pgsql-general by date:

Previous
From: Mr Dash Four
Date:
Subject: Re: strange permission error
Next
From: Leif Biberg Kristensen
Date:
Subject: Re: insert ... returning in plpgsql