Hi Tom, Thanks for the response. The PG version is 9.0. I can't really give you the text of the function unfortunately. I know though that there isn't any aliasing issues occurring. After commenting out all but one line, I have it down to, not a insert select but a
create temp table t1(id, ...) as select (a few columns with names that don't match) where etc. As by the exact syntax specified http://www.postgresql.org/docs/9.0/static/plpgsql-statements.html: *Tip:* Note that this interpretation of SELECT with INTO is quite different from PostgreSQL's regular SELECT INTO command, wherein the INTO target is a newly created table. If you want to create a table from a SELECT result inside a PL/pgSQL function, use the syntax CREATE TABLE ... AS SELECT. This is the only thing still left uncommented in the function. Thanks, ~Ben On Fri, Jun 22, 2012 at 3:44 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Benedict Holland <benedict.m.holl...@gmail.com> writes: > > I am scratching my head over this one. I have a basic function which > > populates a table inside of it (declared outside of the function but that > > shouldn't matter) and it requires something like > > > insert into table1 (col1, ...) > > select * from foo > > > and I get the error "query has no destination for result data". This is > > surely not the case as it's going directly into the insert statement > which > > doesn't have output. Any idea how to get around this particularly > annoying > > problem? > > What PG version? Could we see the exact text of the function? I'm > wondering about aliasing problems stemming from function variables named > similarly to the target table or its columns --- newer PG versions are > brighter about that sort of conflict than older ones. > > > I have to say, making the switch from t-sql to postgresql has been > > fairly easy except for function debugging. > > RAISE NOTICE is the usual substitute for what I think you were doing on > t-sql. Also, I think EDB is still supporting their plpgsql debugger, so > you might consider experimenting with that. > > regards, tom lane >