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