A sample object type with a MAP member function : Object Method « Object Oriented Database « Oracle PL / SQL






A sample object type with a MAP member function

   
SQL>
SQL> CREATE OR REPLACE TYPE myType AUTHID CURRENT_USER IS OBJECT
  2  ( my_number NUMBER
  3  , CONSTRUCTOR FUNCTION myType RETURN SELF AS RESULT
  4  , CONSTRUCTOR FUNCTION myType( my_number NUMBER )RETURN SELF AS RESULT
  5  , MEMBER PROCEDURE print_instance_variable
  6  , MAP MEMBER FUNCTION equals RETURN NUMBER )INSTANTIABLE NOT FINAL;
  7  /

Type created.

SQL>
SQL> CREATE OR REPLACE TYPE BODY myType AS
  2    CONSTRUCTOR FUNCTION myType
  3    RETURN SELF AS RESULT IS
  4      my_instance_number NUMBER := 0;
  5    BEGIN
  6      SELF.my_number := my_instance_number;
  7      RETURN;
  8    END;
  9    CONSTRUCTOR FUNCTION myType( my_number NUMBER )
 10    RETURN SELF AS RESULT IS
 11    BEGIN
 12      SELF.my_number := my_number;
 13      RETURN;
 14    END;
 15    MEMBER PROCEDURE print_instance_variable IS
 16    BEGIN
 17      DBMS_OUTPUT.PUT_LINE('Instance Variable ['||SELF.my_number||']');
 18    END;
 19    MAP MEMBER FUNCTION equals
 20    RETURN NUMBER IS
 21    BEGIN
 22      RETURN SELF.my_number;
 23
 24    END;
 25
 26  END;
 27  /

Type body created.

SQL>
SQL>
SQL> DECLARE
  2    obj1 myType := myType;
  3    obj2 myType := myType(1);
  4
  5  BEGIN
  6    obj1.print_instance_variable;
  7
  8    obj2.print_instance_variable;
  9
 10    IF obj1 = obj2 THEN
 11      DBMS_OUTPUT.PUT_LINE('equal.');
 12    ELSE
 13      DBMS_OUTPUT.PUT_LINE('unequal.');
 14    END IF;
 15
 16  END;
 17  /
Instance Variable [0]
Instance Variable [1]
unequal.

PL/SQL procedure successfully completed.

   
    
    
  








Related examples in the same category

1.Creating User-defined Functions for Column Objects
2.Use method from object in select command
3.Access member variable in member function in a type
4.Compare two type object instances
5.A sample object type with an ORDER member function.
6.This script builds a sample object type with member variables and functions
7.This script demonstrates the static method.
8.This script demonstrates the order method.
9.Type with member procedure
10.Demonstrates the member method.