> EXECUTE 'INSERT INTO '||tablename||' ('||fields||') VALUES
> ('||vals||') RETURNING currval('''||seqname||''')' INTO newid
>
> Note where last quote goes.
That was exactly what I wanted to do!
SELECT 'Thank you' FROM heart;
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org
On Fri, May 30, 2008 at 9:25 PM, A B <[EMAIL PROTECTED]> wrote:
> I have a query like this in a plpgsql function:
>
> EXECUTE 'INSERT INTO '||tablename||' ('||fields||') VALUES
> ('||vals||') RETURNING currval('''||seqname||''') INTO newid'
>
> and I get the response:
>
> ERROR: syntax error at o
I haven't use the RETURNING clause before, but the "INTO" option, at least
in SELECT sentences, must be outside of the string expression. This way:
EXECUTE 'some query' INTO variable;
Cheers.
2008/5/30 A B <[EMAIL PROTECTED]>:
> I have a query like this in a plpgsql function:
>
> EXECUTE 'INSERT
> > EXECUTE 'INSERT INTO '||tablename||' ('||fields||') VALUES
> > ('||vals||') RETURNING currval('''||seqname||''') INTO newid'
You probably were to do:
EXECUTE 'INSERT INTO '||tablename||' ('||fields||') VALUES
('||vals||') RETURNING currval('''||seqname||''')' INTO newid
Note where last quo
Pretty sure you have to create the query as a string and execute that.
On Fri, May 30, 2008 at 9:55 AM, A B <[EMAIL PROTECTED]> wrote:
> I have a query like this in a plpgsql function:
>
> EXECUTE 'INSERT INTO '||tablename||' ('||fields||') VALUES
> ('||vals||') RETURNING currval('''||seqname||'''
I have a query like this in a plpgsql function:
EXECUTE 'INSERT INTO '||tablename||' ('||fields||') VALUES
('||vals||') RETURNING currval('''||seqname||''') INTO newid'
and I get the response:
ERROR: syntax error at or near "INTO"
LINE 1: ...','2008','4',NULL) RETURNING currval('id_seq') INTO n