Klay Martens wrote:
Hi all.

I am new to postgres, so I am still learning the basics.

In Sequel Server, one can set up a function to return a table eg:

CREATE FUNCTION [dbo].[AuthCodes] (@CLIENTID INT) RETURNS @AuthCodes TABLE
[snip]
and then use select into or insert to populate the table.

I am really battling to figure out how to do the same in a postgres function.

It seems like one would have to create a user defined type (myType for eg), and then set the return type of the function to be a set of myType, but I can’t seem to make it work. I am guessing that I am on the wrong track…does anyone have any suggestions, or examples I could follow?

You've got the right idea. If there's not an existing table, define a type, return SETOF my_type and use RETURN NEXT inside the function to return each row. You call the function as: "SELECT * FROM myfunc()", that is - treat it as a table.

There's an item on set-returning functions here:
  http://techdocs.postgresql.org/
and here
  http://www.varlena.com/varlena/GeneralBits/Tidbits/index.php

--
  Richard Huxton
  Archonet Ltd


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to