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>