Demonstrates object initialization. : Constructor « Object Oriented « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> CREATE OR REPLACE TYPE BookType AS OBJECT (
  2     rebate   NUMBER (10, 4),
  3     price           NUMBER (10, 2),
  4     CONSTRUCTOR FUNCTION BookType (price NUMBER)
  5        RETURN SELF AS RESULT
  6  )
  7  INSTANTIABLE FINAL;
  8  /

SP2-0816: Type created with compilation warnings

SQL>
SQL> CREATE OR REPLACE TYPE BODY BookType
  2  AS
  3     CONSTRUCTOR FUNCTION BookType (price NUMBER)
  4        RETURN SELF AS RESULT
  5     AS
  6     BEGIN
  7        SELF.price := price * .9;
  8        RETURN;
  9     END BookType;
 10  END;
 11  /

SP2-0818: Type Body created with compilation warnings

SQL>
SQL>
SQL> DECLARE
  2     v_price   BookType;
  3  BEGIN
  4     v_price.price := 75;
  5     DBMS_OUTPUT.put_line (v_price.price);
  6  END;
  7  /
75

PL/SQL procedure successfully completed.








32.2.Constructor
32.2.1.Inserting a row into an object table using constructor
32.2.2.Using the default constructor (the name of the class)
32.2.3.User-Defined Constructors
32.2.4.Construct user-defined type with subquery
32.2.5.Use constructor to create new objects
32.2.6.Demonstrates object initialization.