A Relational Table with Object Types (Cont.)
Populating Relational Tables with Object Types
The following example shows how to insert records into the customer
table and list the table contents:
SQL> INSERT INTO customer VALUES (101,
2 address_typ('715 40th St.,', '#202J', 'Grand Forks', 'ND', '58203') );
1 row created.
SQL> INSERT INTO customer VALUES (102,
2 address_typ('University Ave.', 'CS Dept', 'Grand Forks', 'ND', '58202') );
1 row created.
SQL> SELECT * FROM customer c WHERE c.id = 101;
ID CUST_ADDRESS(ADDRESS1, ADDRESS2, CITY, STATE, ZIP)
---- --------------------------------------------------------------------
101 ADDRESS_TYP('715 40th St.,', '#202J', 'Grand Forks', 'ND', '58203')
|
Resolving Names for Attributes
Name resolution of object type attributes is similar to the resolution of column names in Oracle relational tables.
SQL> SELECT c.cust_address.city FROM customer c;
CUST_ADDRESS.CIT
----------------
Grand Forks
Grand Forks
|
|
|
|
Any attribute names used are associated with the current object instance being pointed to by the SQL statement.
Consider the
customer
table example:
- Use an alias, such as
c
, for the customer
table.
- Use dot notation,
c.cust_address.city
to retrieve values from the column object.