Re: PL/pgsql insert into failing even with returning into clause

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mark Bannister <mark(at)injection-moldings(dot)com>
Cc: pgsql-novice(at)lists(dot)postgresql(dot)org
Subject: Re: PL/pgsql insert into failing even with returning into clause
Date: 2020-04-17 00:39:10
Message-ID: 18199.1587083950@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

Mark Bannister <mark(at)injection-moldings(dot)com> writes:
> I have a simple insert into query in a PL/pgsql function.  I have a
> returning into clause.
>  I have tried it multiple ways but it always gives me the "query has no
> destination for result data" error.

It looks like you forgot to include "INTO plpgsql-result-variable"
in the last UPDATE RETURNING in the function. You do have that
in the earlier one, maybe you just got confused about which one
the system was complaining about?

> *Desired version:*

> INSERT  INTO __formuilist  (formidfkey,uiname,mastertablelistxref_fkey)
>          VALUES(_formidfkey,_uiname, _mastertablelistxref_fkey)
>          RETURNING ROW
>           INTO   formlistrow ;

I believe the easiest way to accomplish that is something like

INSERT ... RETURNING __formuilist.* INTO composite_variable

where composite_variable could be declared RECORD, or given
the table's named rowtype.

regards, tom lane

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Mark Bannister 2020-04-17 01:05:32 Re: PL/pgsql insert into failing even with returning into clause
Previous Message Mark Bannister 2020-04-16 22:40:09 PL/pgsql insert into failing even with returning into clause