Call Object member function : Member Function « Object Oriented « Oracle PL/SQL Tutorial






SQL>
SQL> CREATE Or Replace TYPE ProductType AS OBJECT (
  2    id          NUMBER,
  3    name        VARCHAR2(15),
  4    description VARCHAR2(22),
  5    price       NUMBER(5, 2),
  6    days_valid  NUMBER,
  7
  8    MEMBER FUNCTION getByDate RETURN DATE
  9  );
 10  /

Type created.

SQL>
SQL> CREATE or replace TYPE BODY ProductType AS
  2   MEMBER FUNCTION getByDate RETURN DATE IS
  3      v_by_date DATE;
  4    BEGIN
  5     SELECT SYSDATE
  6      INTO v_by_date
  7      FROM dual;
  8
  9     RETURN v_by_date;
 10    END;
 11  END;
 12  /

Type body created.

SQL>
SQL> CREATE TABLE products (
  2    product           ProductType,
  3    count NUMBER
  4  );

Table created.

SQL>
SQL>  created.
SQL>
SQL>
SQL> INSERT INTO products (product,count) VALUES (
  2            ProductType(1, 'AA', 'BBB', 3.95, 10),50
  3  );

1 row created.

SQL>
SQL> INSERT INTO products (product,count) VALUES (
  2            ProductType(2, 'CC', 'DDDD', 2.99, 5),25
  3  );

1 row created.

SQL>
SQL> SELECT p.product.getByDate()
  2  FROM products p;

P.PRODUCT
---------
05-JUN-07
05-JUN-07

SQL>
SQL> drop table products;

Table dropped.

SQL>
SQL>








32.3.Member Function
32.3.1.Type with member function
32.3.2.Call Object member function
32.3.3.Type with toString and mapping functions
32.3.4.A sample object type with a MAP member function
32.3.5.A sample object type with an ORDER member function.
32.3.6.This script demonstrates the static method.
32.3.7.Compare two type object instances
32.3.8.This script builds a sample object type with constructor.