Object Oriented Oracle PLSQL Tutorial

SQL>
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    addressValue address;
  3  BEGIN
  4    IF (addressValue IS NULL) THEN
  5
  6      DBMS_OUTPUT.PUT_LINE('addressValue is atomically null ');
  7
  8    END IF;
  9
 10    IF (addressValue.line1 IS NULL) THEN
 11
 12      DBMS_OUTPUT.PUT_LINE('line1 is null ');
 13
 14    END IF;
 15
 16    addressValue :=address('27 Rd','A','E','NJ','00000');
 17
 18    addressValue :=NULL;
 19
 20    IF (addressValue IS NULL) THEN
 21      DBMS_OUTPUT.PUT_LINE('addressValue is atomically null ');
 22    END IF;
 23
 24    addressValue.line1 :='1 Road';
 25
 26  EXCEPTION WHEN ACCESS_INTO_NULL THEN
 27
 28    DBMS_OUTPUT.PUT_LINE('Access Into Null');
 29  END;
 30  /
addressValue is atomically null
line1 is null
addressValue is atomically null
Access Into Null
PL/SQL procedure successfully completed.
SQL>