Thread: Returning multiple rowsets from a function

Returning multiple rowsets from a function

From
David Fetter
Date:
Kind people,

I've got an issue that must have come up before.  Here's the use case:

Middleware sends in a person_id.
Back-end returns several rowsets: address, email, phone, each of
independent, variable length.

How do people usually handle this?  I've come up with a horrible hack
involving ARRAYs, but there has to be another way.  Jan mentioned
doing something with REFCURSORS, but I'm not sure how those and this
problem might connect.

Are there standard ways to do this?  If so, what might they be?  Some
code or doc examples would be great. :)

Cheers,
D
-- 
David Fetter david@fetter.org http://fetter.org/
phone: +1 510 893 6100   mobile: +1 415 235 3778

Remember to vote!


Re: Returning multiple rowsets from a function

From
Bruno Wolff III
Date:
On Mon, Jan 10, 2005 at 14:30:36 -0800, David Fetter <david@fetter.org> wrote:
> Kind people,
> 
> I've got an issue that must have come up before.  Here's the use case:
> 
> Middleware sends in a person_id.
> Back-end returns several rowsets: address, email, phone, each of
> independent, variable length.
> 
> How do people usually handle this?  I've come up with a horrible hack
> involving ARRAYs, but there has to be another way.  Jan mentioned
> doing something with REFCURSORS, but I'm not sure how those and this
> problem might connect.
> 
> Are there standard ways to do this?  If so, what might they be?  Some
> code or doc examples would be great. :)

If it is OK to treat these as strings you could make one result set
by using union and probably adding a marker column so the app knows
what type each row is.