🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.databases.oracle.server
Article #20

How to aggregate PL/SQL records into a Result Set?

#20
From: Ramon F Herrera
Date: Sun, 07 Jul 2002 20:27
52 lines
2888 bytes
Server Side:
SPARC Solaris 8
Oracle 9i RDBMS, PL/SQL

Client Side:
Sun Java 1.4
Borland JBuilder 7 SE
MS Windows XP


My application is almost ready, but it is still missing a
last, and very critical link.  The objective is to have a
Java GUI client in which the user types a value, clicks on
a button and the program makes a JDBC call to a remote PL/SQL
stored function.  The returned values (it's a read-only app)
are displayed, each record on a separate tabbed panel.

The Java app is basically ready and the Oracle stored function
too, but I still have to make them talk properly to each other.

The basic problem is that the Java front end expects to receive a
Result Set in the way documented here (pretty standard stuff):

    http://osi.oracle.com/~tkyte/ResultSets/index.html

However, I don't know how to write a stored function which
will return a Result Set.

Here's the catch: my PL/SQL subprogram has to select-query a
whole bunch of tables (many tables BUT all of them have exactly
the same layout).  Since the query is done on a unique key
WHERE condition, each query returns precisely zero or one records.
So, from the server side I have several independent records
which I need to aggregate somehow, and convert them in a
Result Set which is the return variable of the stored function.

So how can I "build" piecewise, -adding a record at a time-
a Result Set in PL/SQL?


TIA,

-Ramon F. Herrera

ps:

Is there something like this?:

    ResultSet[1] := v_Record1;
    ResultSet[2] := v_Record2;
    ResultSet[3] := v_Record3;
    RETURN ResultSet;
Technical Details
Message-ID: <c9bc36ff.0207071227.141865fc@posting.google.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fa4f9,7c58a4418eab2433,start
X-Google-Attributes: gidfa4f9,public
X-Google-Thread: 107d46,7c58a4418eab2433,start
X-Google-Attributes: gid107d46,public
X-Google-Thread: 1073da,7c58a4418eab2433,start
X-Google-Attributes: gid1073da,public
X-Google-Thread: f99a8,7c58a4418eab2433,start
X-Google-Attributes: gidf99a8,public
X-Google-Thread: 10a146,7c58a4418eab2433,start
X-Google-Attributes: gid10a146,public
X-Google-ArrivalTime: 2002-07-07 13:27:31 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!postnews1.google.com!not-for-mail
From: ramon@conexus.net (Ramon F Herrera)
Newsgroups: comp.databases.oracle.server,comp.databases.oracle.misc,borland.public.jbuilder.database,comp.lang.java.databases,comp.lang.java.programmer
Subject: How to aggregate PL/SQL records into a Result Set?
Date: 7 Jul 2002 13:27:31 -0700
Organization: http://groups.google.com/
Lines: 52
Message-ID: <c9bc36ff.0207071227.141865fc@posting.google.com>
NNTP-Posting-Host: 65.96.170.111
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1026073651 21882 127.0.0.1 (7 Jul 2002 20:27:31 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: 7 Jul 2002 20:27:31 GMT