What is nested table in Oracle and difference between table and nested table?

Questions by Vikramsingh

Showing Answers 1 - 7 of 7 Answers


  • Nov 12th, 2007

A nested table can be stored as a database column. This means that the entire nested table is contained in one row of a table and each row of the table can contain different nested table

1.      Can be stored in database

2.      can be manipulated using SQL

3.      can be automatically null

4.      individual elements can be accessed using subscript

Anu Ramakrishnan

  • Nov 27th, 2007

Nested table is the collection object in oracle. It is also stored in database one in a separate file called  store file .This can be used as a column in a table  like VARRAY. This is created in a database using create type  command .It is used for storing a single dimensional value like VARRAY. The difference between VARRAY and nested table is we can have numerous value single table but in case of VARRAY we can not have more than the defined limit .

  Was this answer useful?  Yes

In Oracle nested table are considered one-column database tables. Tables which are having one table as a cell. Nested tables are like one-dimensional arrays stored in a table, but we can model nested table to hold multi-dimensional arrays.

  Was this answer useful?  Yes


  • Feb 19th, 2008

Nested tables are unbounded.

Initially dense but can become sparse through deletions.

Order is not preserved

Can be indexed


PL/SQL tables are singly dimensioned, unbounded,

sparse collections of homogeneous elements

Available only in PL/SQL.

Can be indexed

  Was this answer useful?  Yes

A Table is a basic unit of storage in oracle.

A nested table is a collection type. The main advantage of collections is instead of processing data sequentially, we may process all the date  in one step.
- It is a collection of rows stored as a column in a table.
- It is a table withing a table.
- There is no restriction on number of rows in a nested table
- There is no restriction on number of columns in a nested table.
- We can not index nested table.
- The nested table is stored as a seperate table and main table maintains a pointer to the nested table as reference.
- Nested table stored data in no particular order
- But when you retrieve data into pl/sql variable it assigns serial number starts with 1
- Intially they are dense you may sparse later.
- Nested tables are unbounded. There is no upper limit.


  • Apr 6th, 2012

Nested table Unbounded
Individual element can be deleted
Stored out of line in stored table.
Support indexes.
More flexible.
Data is stored in separate table.
Stored outside the table
DML are allowed.

Individual element cannot be deleted.
Stored by Oracle in- line
Do not support indexes.
Not flexible than nested table.
Data is stored as single object in database.
Stored within table.
DML are not allowed

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.


Related Answered Questions


Related Open Questions