Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> pl/sql tables and cursors

pl/sql tables and cursors

From: A. Davidson <dradave_at_ionet.net>
Date: 1997/11/30
Message-ID: <65qo3o$ccv$1@ionews.ionet.net>#1/1

I am attempting to load 15000 + records from a temporary table declared as 25 columns of varchar2(60) into a pl/sql table for later processing into production tables.

I'm creating a cursor with select * from the temporary table to populate the pl/sql table using a cursor for loop.

I do this twice, once with a cursor in a select statement using where exists against the temporary table and production table to populate an update pl/sql table and a select where not exists to populate a add new record pl/sql table.

This method seems to work fairly well using small amounts of test data...2000 records or less. But when I do a full scale test using all 15000 plus records, it hangs the DB and I have to shut it down then restart it. Sometimes it will work properly on the add routine and sometimes on the update routine but never both. I need to do the update this way to make sure I don't update an existing value with a blank from the update file, so I have to perform null checks on the incoming data. This is essentially a reload every day so all 15000 + records are updated daily. (I can't drop and reload).

 I'm using the default setup for the database when it was installed.

I guess my question is:

  1. How many rows can a cursor hold?
  2. How many rows can a pl/sql table hold?

I know this also depends on number of columns and their datatypes, I can't seem to find this information in the documentation.

Thanx for any info supplied...

  1. Davidson dradave_at_ionet.net
Received on Sun Nov 30 1997 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US