Chapter 6. Index-by Tables

Oracle8 introduced the term collection to describe three new datatypes: index-by tables, nested tables, and variable arrays. These collections are quite similar and are really just conceptual riffs on the old PL/SQL table. We’ll examine each of these new types in the next three chapters.

The index-by table (or the structure formerly known as a PL/SQL table) is PL/SQL’s answer to an array. Like an array, an index-by table consists of homogeneous elements (meaning that all the elements have the same datatype) that are indexed by an integer (hence the name index-by table). Unlike arrays in other languages, PL/SQL index-by tables are one-dimensional, sparse (meaning that there can be “gaps” between elements), and unconstrained (meaning that the number of elements can grow). This chapter tests your understanding of these extremely useful structures.

Beginner

6-1.

What two steps are required before you can work with an index-by table?

6-2.

Can index-by tables be declared with indexes other than BINARY_INTEGERs?

6-3.

Consider this definition of an index-by table TYPE:

DECLARE
   TYPE number_tabtype IS TABLE OF NUMBER
      INDEX BY BINARY_INTEGER;

Which of the following index-by table declarations is valid?

  1. number_tabtype salary_list;

  2. salaries, commissions number_tabtype;

  3. acres_clearcut number_tabtype;

6-4.

Consider this definition of an index-by table TYPE and table:

DECLARE
   TYPE number_tabtype IS TABLE OF NUMBER
      INDEX BY BINARY_INTEGER;
   acres_clearcut number_tabtype;

Which of the following ...

Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.