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: | Whole Thread | Raw Message | 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.
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" |