Re: RETURNING MORE THAN ONE CUSTOM TYPE FROM FUNCTION

From: utsav <utsav(dot)pshah(at)tcs(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: RETURNING MORE THAN ONE CUSTOM TYPE FROM FUNCTION
Date: 2012-06-18 17:04:50
Message-ID: 1340039090622-5713131.post@n5.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

-- 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.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message utsav 2012-06-18 17:05:38 Re: RETURNING MORE THAN ONE CUSTOM TYPE FROM FUNCTION
Previous Message vmkurz 2012-06-18 15:17:46 Examples of "dblink_build_sql_update"