Intermediate

Q:

8-10.

Default constructors are created when the variable array is defined in PL/SQL or in the database. They can initialize the variable to a known state, as in the following examples:

DECLARE
  /*
    || define a variable based on a variable array from the
    || database and initialize it with its default constructor
  */
  v_a_varray a_varray := a_varray();

  /*
    || define a local variable array and then create a variable
    || based on it and initialize it with its default constructor
  */
  TYPE v_local_array_type IS VARRAY(10) OF NUMBER;
  v_local_array v_local_array_type := v_local_array_type();

BEGIN
  /*
    || Put 10 elements into each variable array
  */
  v_a_varray := a_varray(1,2,3,4,5,6,7,8,9,10);
  v_local_array := v_local_array_type(1,2,3,4,5,6,7,8,9,10);

END;

Q:

8-11.

You’ll see this error:

ORA-06532: Subscript outside of limit

This error occurs because you attempted to put two elements into a variable array with a limit of 1. Since VARRAYs are “bounded” (unlike index-by tables), attempting to assign a value to an element with a nonpositive index, or greater than the declared limit of the VARRAY, causes this error.

Q:

8-12.

Here are the methods associated with each description:

  1. EXISTS

  2. COUNT

  3. LIMIT

  4. FIRST

  5. LAST

  6. PRIOR

  7. NEXT

  8. DELETE

  9. EXTEND

  10. TRIM

Q:

8-13.

The statements are:

  1. True. Elements cannot be removed from the middle of a variable array; they can be removed only from the end using the TRIM method.

  2. True. Variable arrays cannot be sparse so the first element is always number 1 or NULL (undefined).

  3. False. This is the ...

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.