INSERT INTO table [ ( column [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
[ RETURNING * | output_expression [ AS output_name ] [, ...] ]
but it seems if i want to return the result into a record i have to use it with INTO clause in the end:
INSERT INTO tablename (
a
,b
,c
) VALUES (
in_a
,in_b
,in_c
) RETURNING * INTO _r;
using either
INSERT INTO tablename (
a
,b
,c
) VALUES (
in_a
,in_b
,in_c
) RETURNING _r;
or
INSERT INTO tablename (
a
,b
,c
) VALUES (
in_a
,in_b
,in_c
) RETURNING * AS _r;
didn't work on PostgreSQL 8.2.4