Use a table alias and the name of the object
SQL> CREATE OR REPLACE TYPE aobj AS object (
2 state CHAR(2),
3 amt NUMBER(5),
4
5 MEMBER FUNCTION mult (times in number) RETURN number,
6 PRAGMA RESTRICT_REFERENCES(mult, WNDS));
7 /
Type created.
SQL>
SQL> CREATE OR REPLACE TYPE BODY aobj AS
2 MEMBER FUNCTION mult (times in number) RETURN number
3 IS
4 BEGIN
5 RETURN times * self.amt; /* SEE BELOW */
6 END;
7 END;
8 /
Type body created.
SQL> CREATE TABLE aobjtable (arow aobj);
Table created.
SQL> /
CREATE TABLE aobjtable (arow aobj)
SQL>
SQL>
SQL> INSERT INTO aobjtable VALUES (aobj('FL',25));
1 row created.
SQL> INSERT INTO aobjtable VALUES (aobj('AL',35));
1 row created.
SQL> INSERT INTO aobjtable VALUES (aobj('OH',15));
1 row created.
SQL>
SQL> -- Use a table alias and the name of the object
SQL>
SQL> SELECT x.arow.state, x.arow.amt
2 FROM aobjtable x;
AR AROW.AMT
-- ----------
FL 25
AL 35
OH 15
SQL>
SQL> DESC aobjtable;
Name Null? Type
----------------------------------------------------------------------------------------------------- -------- --------------------------------------------------------------------
AROW AOBJ
SQL>
SQL> drop table aobjtable;
Table dropped.
SQL>
SQL>
Related examples in the same category