Intermediate

9-16.

True or false?

  1. With the release of the Oracle Objects option, the USER_OBJECTS view became available in the data dictionary.

  2. An entry for each object type is found in the USER_OBJECTS view.

  3. An entry for each object instance is found in the USER_OBJECTS view.

9-17.

True or false? A constructor:

  1. Can be modified by a developer.

  2. Can be called in SQL or PL/SQL.

  3. Accepts attributes in named notation or positional notation.

9-18.

What is wrong with the following object type definition?

CREATE TYPE CD_t AS OBJECT (
   id            INTEGER,
   title         VARCHAR2(60) := 'Greatest Hits',
   artist        VARCHAR2(60),
   label         VARCHAR2(60),
   MEMBER FUNCTION
      set_title  (title_in    IN VARCHAR2)
         RETURN CD_t,
   MEMBER FUNCTION
      set_artist (artist_in   IN VARCHAR2)
         RETURN CD_t,
   MEMBER FUNCTION
      set_label (label_in     IN VARCHAR2)
         RETURN CD_t
);

9-19.

What is wrong with the following object type definition?

CREATE TYPE CD_t AS OBJECT (
   id                  INTEGER,
   title               VARCHAR2(60),
   artist              VARCHAR2(60),
   label               VARCHAR2(60),
   classification      VARCHAR2(60),

   MEMBER FUNCTION  set_title  (title_in    IN VARCHAR2)
      RETURN CD_t;
   MEMBER FUNCTION  set_artist (artist_in   IN VARCHAR2)
      RETURN CD_t;
);

9-20.

True or false? An object method:

  1. Can be implemented in PL/SQL.

  2. Can be implemented via an external procedure, such as a procedure written in the C language.

  3. Can be implemented in Java.

9-21.

What happens when you forget to FETCH something as an object, as shown next? How can you fix the problem?

DECLARE the_cd CD_t; CURSOR cd_cur IS SELECT * FROM compact_discs cd WHERE id = 100; BEGIN ...

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.