🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#25
From: AV
Date: Tue, 09 Jul 2002 13:45
51 lines
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-mail
References: <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