Overloading based on user defined object types. : Object Type « Object Oriented « Oracle PL/SQL Tutorial






SQL> CREATE OR REPLACE TYPE myTable1 AS OBJECT (
  2     f NUMBER
  3   );
  4   /

Type created.

SQL>
SQL>
SQL> CREATE OR REPLACE TYPE myTable2 AS OBJECT (
  2     f NUMBER
  3   );
  4   /

Type created.

SQL>
SQL>
SQL>
SQL> CREATE OR REPLACE PACKAGE Overload AS
  2     PROCEDURE Proc(p1 IN myTable1);
  3     PROCEDURE Proc(p1 IN myTable2);
  4   END Overload;
  5   /

Package created.

SQL>
SQL>
SQL>
SQL> show errors
No errors.
SQL>
SQL>
SQL> CREATE OR REPLACE PACKAGE BODY Overload AS
  2     PROCEDURE Proc(p1 IN myTable1) IS
  3     BEGIN
  4       DBMS_OUTPUT.PUT_LINE('Proc(myTable1): ' || p1.f);
  5     END Proc;
  6
  7     PROCEDURE Proc(p1 IN myTable2) IS
  8     BEGIN
  9       DBMS_OUTPUT.PUT_LINE('Proc(myTable2): ' || p1.f);
 10     END Proc;
 11   END Overload;
 12   /

Package body created.

SQL>
SQL> show errors
No errors.
SQL>
SQL>
SQL> set serveroutput on
SQL> DECLARE
  2     v_Obj1 myTable1 := myTable1(1);
  3     v_OBj2 myTable2 := myTable2(2);
  4   BEGIN
  5     Overload.Proc(v_Obj1);
  6     Overload.proc(v_Obj2);
  7   END;
  8   /
Proc(myTable1): 1
Proc(myTable2): 2

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL>
SQL> drop type myTable1 force;

Type dropped.

SQL>
SQL> drop type myTable2 force;

Type dropped.

SQL>
SQL>
SQL>
SQL>
SQL>








32.1.Object Type
32.1.1.Creating Object Types
32.1.2.Object instances and initialization
32.1.3.Nested object
32.1.4.Declare a function.
32.1.5.The MEMBER FUNCTION clause declares the getByDate() function.
32.1.6.The body defines the code for the method, and a body is created using the CREATE TYPE BODY statement.
32.1.7.Create a synonym and a public synonym for a type
32.1.8.Using DESCRIBE to Get Information on Object Types
32.1.9.Object types with member functions
32.1.10.add attribute
32.1.11.drop attribute
32.1.12.Object elements are referenced by using variable.attribute and variable.method notation.
32.1.13.Call data type member function in PL/SQL
32.1.14.Call data type constructor to initialize it
32.1.15.You must create an instance of the object first. With object types, you cannot just start assigning values to attributes.
32.1.16.You can set the depth to which DESCRIBE will show information using SET DESCRIBE DEPTH.
32.1.17.Use objects in SQL, First, you can use object types as attributes in a traditional relational way)
32.1.18.Alternatively, you can create an object table.
32.1.19.Use Object PL/SQL
32.1.20.Retrieve object as a whole
32.1.21.Using Objects
32.1.22.Combine user-defined type to create new type
32.1.23.Use self to reference member variable
32.1.24.Overloading based on user defined object types.