Type with method : type body « Object Oriented « Oracle PL/SQL Tutorial






SQL>
SQL> -- Methods
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    MEMBER FUNCTION get_address RETURN VARCHAR2,
  8    MEMBER PROCEDURE set_address
  9              (addressLine1 VARCHAR2,
 10               addressLine2 VARCHAR2,
 11               address_city VARCHAR2,
 12               address_state VARCHAR2,
 13               address_zip VARCHAR2)
 14  );
 15  /

Type created.

SQL> CREATE OR REPLACE TYPE BODY address AS
  2    MEMBER FUNCTION get_address RETURN VARCHAR2
  3    IS
  4    BEGIN
  5
  6      RETURN (SELF.line1||' '||SELF.line2||' '||SELF.city||', '|| SELF.state_code||' '||SELF.zip);
  7
  8    END get_address;
  9
 10    MEMBER PROCEDURE set_address (addressLine1 VARCHAR2,
 11                  addressLine2 VARCHAR2,
 12                  address_city VARCHAR2,
 13                  address_state VARCHAR2,
 14                  address_zip VARCHAR2)
 15    IS
 16
 17    BEGIN
 18      line1 :=addressLine1;
 19      line2 :=addressLine2;
 20      city :=address_city;
 21      state_code :=address_state;
 22      zip :=address_zip;
 23    END set_address;
 24  END;
 25  /

Type body created.

SQL>








32.4.type body
32.4.1.Create type body
32.4.2.Type with method
32.4.3.Static Method
32.4.4.Implement a function in type body
32.4.5.Create toString function for a type
32.4.6.Object table
32.4.7.Type with order function
32.4.8.Type with member procedure