Expert

Q:

7-33.

Here is the script to create the necessary objects:


/* Filename on web page: manage_orders.sql */
/*
   Drop existing objects
*/
DROP TABLE orders;
DROP TYPE order_detail_t;
DROP TYPE detail_t;
DROP TYPE tax_code_t;
DROP TYPE tax_code_detail_t;

/*
   Create a tax code object and table
*/
CREATE TYPE tax_code_detail_t AS OBJECT(
   tax_code VARCHAR2 (10)
);
/

CREATE TYPE tax_code_t AS TABLE OF tax_code_detail_t;
/

/*
   Create a detail type and table
*/
CREATE TYPE detail_t AS OBJECT(
   detail_no NUMBER,
   detail_desc VARCHAR2 (30),
   detail_price NUMBER
);
/

CREATE TYPE order_detail_t AS TABLE OF detail_t;
/
/*
   Create an orders table with a nested table of details
   and tax codes
*/
CREATE TABLE orders
   (order_no   NUMBER NOT NULL PRIMARY KEY USING INDEX,
    order_desc VARCHAR2(30),
    order_detail   order_detail_t,
    tax_codes   tax_code_t)
  NESTED TABLE order_detail STORE AS order_detail,
  NESTED TABLE tax_codes STORE AS order_tax_codes
/

Q:

7-34.

The code for the create_order function is in the manage_orders.sql file on the book’s web page.

Q:

7-35.

The code for the update_order procedure is in the manage_orders.sql file on the book’s web page.

Q:

7-36.

The code for the add_details procedure is in the manage_orders.sql ...

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.