What I want is something similar to this:
CREATE OR REPLACE FUNCTION f( /* "some args..." */)
RETURNS text AS
$BODY$
DECLARE
...
BEGIN
DROP TABLE IF EXISTS tbl_temp;
CREATE TEMPORARY TABLE tbl_temp(
-- "based on args..."
);
WHILE
INSERT INTO tbl_temp VALUES (/*"some values"*/);
END LOOP;
/*create indexes on it, manipulate, whatever...*/
RETURN 'tbl_temp'::text;
END;
$BODY$
LANGUAGE 'plpgsql'
Basically, what I want is a similar function f() that returns me a "pointer"
to the table which I can use in some query like this: SELECT * FROM
regclass(f()); Currently, this query only gives me one row 'tbl_temp'...,
but not what I want: "SELECT * FROM tbl_temp;" Can this be done in Postgres?
Original post:
http://forums.devshed.com/postgresql-help-21/function-that-creates-a-custom-table-and-returns-a-pointer-675539.html
Kind regards,
Davor