-- Table: bar
-- DROP TABLE bar;
CREATE TABLE bar
(
barid integer,
barsubid integer,
barname text
)
WITH (
OIDS=FALSE
);
ALTER TABLE bar
OWNER TO postgres;
--------------------------------------------------------------------------------------------
-- Table: foo
-- DROP TABLE foo;
CREATE TABLE foo
(
fooid integer,
foosubid integer,
fooname text
)
WITH (
OIDS=FALSE
);
ALTER TABLE foo
OWNER TO postgres;
--------------------------------------------------------------------------------------------
-- Function: getallfoobar()
-- DROP FUNCTION getallfoobar();
CREATE OR REPLACE FUNCTION getallfoobar3(foo OUT foo,bar OUT bar)
RETURNS SETOF record AS
$BODY$
DECLARE
r foo%rowtype;
r1 bar%rowtype;
BEGIN
FOR r IN SELECT * FROM foo
WHERE fooid > 3
LOOP
-- can do some processing here
RAISE NOTICE 'r == %',r;
-- return next row of SELECT
END LOOP;
FOR r1 IN SELECT * FROM bar
WHERE barid > 0
LOOP
-- can do some processing here
-- return next row of SELECT
RAISE NOTICE 'r1 == %',r1;
END LOOP;
RETURN NEXT;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
-----------------------------------------------------------------------------------
select * from getallfoobar3();
--
View this message in context:
http://postgresql.1045698.n5.nabble.com/RETURNING-MORE-THAN-ONE-CUSTOM-TYPE-FROM-FUNCTION-tp5712546p5713131.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.