Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Object Oriented
 

Call Object member function

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> 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 SQL> SQL> drop table products; Table dropped. SQL>