Creating Object Types : Object Type « Object Oriented « Oracle PL/SQL Tutorial






Classes define attributes and methods.

Attributes are used to store an object's state, and methods are used to model an object's behaviors.

You create an object type using the CREATE [OR REPLACE] TYPE statement.

SQL>
SQL> CREATE Or Replace TYPE AddressType AS OBJECT (
  2    street VARCHAR2(15),
  3    city   VARCHAR2(15),
  4    state  CHAR(2),
  5    zip    VARCHAR2(5)
  6  );
  7  /
SQL> CREATE OR REPLACE TYPE address AS OBJECT
  2              (line1 VARCHAR2(20),
  3               line2 VARCHAR2(20),
  4               city VARCHAR2(20),
  5               state_code VARCHAR2(2),
  6               zip VARCHAR2(13));
  7  /

Type created.

SQL>
SQL> DECLARE
  2    off_add address :=address('19 J','R Rd','Vancouver','NJ','00000');
  3  BEGIN
  4    DBMS_OUTPUT.PUT_LINE(off_add.line1||' '||off_add.line2);
  5    DBMS_OUTPUT.PUT_LINE(off_add.city||', '||off_add.state_code||' '||off_add.zip);
  6  END;
  7  /
19 J R Rd
Vancouver, NJ 00000

PL/SQL procedure successfully completed.

SQL>
SQL>








32.1.Object Type
32.1.1.Creating Object Types
32.1.2.Object instances and initialization
32.1.3.Nested object
32.1.4.Declare a function.
32.1.5.The MEMBER FUNCTION clause declares the getByDate() function.
32.1.6.The body defines the code for the method, and a body is created using the CREATE TYPE BODY statement.
32.1.7.Create a synonym and a public synonym for a type
32.1.8.Using DESCRIBE to Get Information on Object Types
32.1.9.Object types with member functions
32.1.10.add attribute
32.1.11.drop attribute
32.1.12.Object elements are referenced by using variable.attribute and variable.method notation.
32.1.13.Call data type member function in PL/SQL
32.1.14.Call data type constructor to initialize it
32.1.15.You must create an instance of the object first. With object types, you cannot just start assigning values to attributes.
32.1.16.You can set the depth to which DESCRIBE will show information using SET DESCRIBE DEPTH.
32.1.17.Use objects in SQL, First, you can use object types as attributes in a traditional relational way)
32.1.18.Alternatively, you can create an object table.
32.1.19.Use Object PL/SQL
32.1.20.Retrieve object as a whole
32.1.21.Using Objects
32.1.22.Combine user-defined type to create new type
32.1.23.Use self to reference member variable
32.1.24.Overloading based on user defined object types.