A script-enabled browser is required for this page to function properly.

About Table of Records

A table of records is a PL/SQL structure that resembles an array of records. The stored procedure constructs the array and passes back the resulting set of records to be used as a block datasource.

Using a table of records is ideal for queries that are dependent on PL/SQL and SQL.

Using a table of records is extremely efficient in terms of the savings on network traffic, because it takes a single round trip to execute the stored procedure, and a single round trip for all the records returned.

Array processing is not an option when a data block is based on a stored procedure returning a table of records. Instead, a single array is used in query and DML operations. The size of the array is the number of records that are processed for the entire operation. For instance, a query of 300 records will return a single array that is 300 records in size.

Because array processing cannot be used, additional records may be returned that are unnecessary. A lot of memory may be required, because all records are in memory at the same time. When using a table of records, anticipate the memory requirements when designing your application. You can limit memory usage, by controlling the size of the array in your stored procedure.

When deciding whether to use a ref cursor or a table of records, consider that:


About ref cursors

About array processing

Guidelines for choosing block datasources