Chapter 6. Index-by Tables

Beginner

Q:

6-1.

The first step is to define the type of table, and then declare actual index-by tables from that type. Here is the generic syntax for an index-by table type definition:

TYPE type_name IS TABLE OF datatype
   INDEX BY BINARY_INTEGER;

Once the type is defined, the next step is to declare an index-by table based on that type:

   Mytab type_name;

Q:

6-2.

No. Attempts to do so are greeted by the PL/SQL error:

PLS-00315: INDEX-BY TABLE declarations must currently use
   binary_integer indexes

Q:

6-3.

The statements are:

  1. Invalid. In PL/SQL, the datatype must follow the variable.

  2. Invalid. You can only declare one variable per declaration.

  3. Valid. This example shows a correct declaration.

Q:

6-4.

The statements are:

  1. Invalid. You cannot use a period to set the index.

  2. Valid. The row number is placed inside parentheses, directly after the name of the table. In general, elements in collections are identified using their unique BINARY_INTEGER index row numbers

  3. Invalid. Index-by tables are referenced like single-dimensional arrays.

  4. Invalid. There is no such thing as an ASSIGN operator.

Q:

6-5.

The statements are:

  1. True. Oracle does not support multidimensional arrays with index-by tables.

  2. False. Each row in an index-by table must store the same structure of data, though that row can consist of a record with scalar fields.

  3. False. Index-by tables cannot be saved in the database. They are only available as variable data structures (stored in memory) within a PL/SQL block.

Q:

6-6.

All standard Oracle ...

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.