Hello 2011/3/28 Terry Kop <terry....@clearcapital.com>: > I'm trying to create a function that will take setof results from various > other functions (they all produce the same output format). Is this possible? > if so how do call it.
No, this isn't possible. Regards Pavel Stehule > > ex. > CREATE TYPE emp_t AS ( > ID int, > name varchar(10), > age int, > salary real, > start_date date, > city varchar(10), > region char(1) > ); > > CREATE OR REPLACE FUNCTION func1() RETURNS SETOF emp_t AS $$ > DECLARE > v_row emp_t; > BEGIN > FOR v_row in SELECT * from employee > LOOP > RETURN NEXT v_row; > END LOOP; > END; > $$ LANGUAGE plpgsql; > > CREATE OR REPLACE FUNCTION func2() RETURNS SETOF emp_t AS $$ > DECLARE > v_row emp_t; > BEGIN > FOR v_row in SELECT * from diff_table_or constraints > LOOP > RETURN NEXT v_row; > END LOOP; > END; > $$ LANGUAGE plpgsql; > > CREATE OR REPLACE FUNCTION myanalyze(in_t emp_t) RETURNS SETOF <something> > AS $$ > DECLARE > v_row emp_t; > BEGIN > FOR v_row in EXECUTE in_t > LOOP > -- do something > RETURN NEXT v_row; > END LOOP; > END; > $$ LANGUAGE plpgsql; > > -- so I would like the call to be something like > select * from myanalyze(select * funct1()); > or > select * from myanalyze(select * funct2()); > > > ______________________________ > > Terry Kop > > Database Developer > > Clear Capital > > > > office: 530.550.2500, ext. 2589 > > terry....@clearcapital.com > > > > www.ClearCapital.com > > > > > > Clear Capital is a trade name of ClearCapital.com, Inc. The information > contained in this email is for the exclusive use of its intended > recipient(s) and may contain confidential information. All parties other > than the intended recipient(s) should refrain from disseminating or > otherwise using this information. If you have received this information in > error, please immediately notify the sender, delete this information from > your computer, and destroy all copies of the information. Clear Capital > reserves the right to delete consumer non-public information from the > contents of any email to which it responds. > -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general