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

Reply via email to