Article View: comp.databases.oracle.server
Article #25Re: How to aggregate PL/SQL records into a Result Set?
From: AV
Date: Tue, 09 Jul 2002 13:45
Date: Tue, 09 Jul 2002 13:45
51 lines
3372 bytes
3372 bytes
"Ramon F Herrera" <ramon@conexus.net> wrote in message news:c9bc36ff.0207081836.29106794@posting.google.com... > "AV" <avek_nospam@videotron.ca> wrote in message news:<457W8.6770$Qt6.589048@wagner.videotron.net>... > > Most probably it will be somewhat slower, > > but here is a plan: > > -- create buffer table. > > -- create PL/SQL procedure that > > ---- clean buffer table > > ---- populate table from any number of selects > > -- from java code > > -- call pl/sql procedure > > -- call simplest select from buffer table > > > > Alex: > > Right after I posted my question, I also came up with > exactly the same solution that you suggest (hey, great minds > think alike ;-) ). > > My PL/SQL script uses a table called 'tempGUI' which is populated > one record at a time, and its contents are removed after being sent > to the client (actually, the deleting the old table is the very > first thing done). The obvious problem is name collision. > What if two clients access the stored procedure at the same time? > Is there any way to have a private table (visible by only one > instance of the stored procedure)? Or even better, is there some > sort of RAM-based table? > > BTW: I intend to implement the PIPELINED approach as soon as I have > Oracle 9i up and running, but for now I am using the approach > that you suggested. Again, I am worried about simultaneous access. > > Thanks, > > -Ramon Ramon, there is in-memory "PL/SQL TABLE" object in Oracle. Handling of such tables is a bit tricky but not rocket science. Alternative would be exclusive locking of TempGUI table. Alternative would be synchronizing java code assessing this pl/sql code. This is valid ONLY if there is no other way this stored procedure is called. AlexV.
Technical Details
Message-ID:
<SNBW8.29157$Qj4.1686313@weber.videotron.net>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!snoopy.risq.qc.ca!wesley.videotron.net!weber.videotron.net.POSTED!not-for-mailReferences:
<c9bc36ff.0207071227.141865fc@posting.google.com> <agaa3m0ahj@drn.newsguy.com> <457W8.6770$Qt6.589048@wagner.videotron.net> <c9bc36ff.0207081836.29106794@posting.google.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f99a8,7c58a4418eab2433 X-Google-Attributes: gidf99a8,public X-Google-Thread: 10a146,7c58a4418eab2433 X-Google-Attributes: gid10a146,public X-Google-Thread: 1073da,7c58a4418eab2433 X-Google-Attributes: gid1073da,public X-Google-Thread: fa4f9,7c58a4418eab2433 X-Google-Attributes: gidfa4f9,public X-Google-Thread: 107d46,7c58a4418eab2433 X-Google-Attributes: gid107d46,public X-Google-ArrivalTime: 2002-07-09 06:45:27 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!snoopy.risq.qc.ca!wesley.videotron.net!weber.videotron.net.POSTED!not-for-mail From: "AV" <avek_nospam@videotron.ca> Newsgroups: comp.databases.oracle.server,comp.databases.oracle.misc,borland.public.jbuilder.database,comp.lang.java.databases,comp.lang.java.programmer References: <c9bc36ff.0207071227.141865fc@posting.google.com> <agaa3m0ahj@drn.newsguy.com> <457W8.6770$Qt6.589048@wagner.videotron.net> <c9bc36ff.0207081836.29106794@posting.google.com> Subject: Re: How to aggregate PL/SQL records into a Result Set? Lines: 53 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: <SNBW8.29157$Qj4.1686313@weber.videotron.net> Date: Tue, 9 Jul 2002 09:45:28 -0400 NNTP-Posting-Host: 24.201.21.248 X-Complaints-To: abuse@videotron.ca X-Trace: weber.videotron.net 1026222322 24.201.21.248 (Tue, 09 Jul 2002 09:45:22 EDT) NNTP-Posting-Date: Tue, 09 Jul 2002 09:45:22 EDT