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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general