Retrieve object as a whole : Object Type « Object Oriented « Oracle PL/SQL Tutorial






The built-in function value returns an object that can be stored in the local variable.

SQL> create type employeeType is object (
  2      empNo    NUMBER,
  3      eName    VARCHAR2(10),
  4      job      VARCHAR2(9),
  5      mgr      NUMBER,
  6      hireDate DATE,
  7      sal      NUMBER,
  8      comm     NUMBER,
  9      deptNo   NUMBER,
 10      member procedure p_changeName (i_newName_tx VARCHAR2),
 11      member function  f_getIncome_nr  return VARCHAR2
 12  )
 13  /

SP2-0816: Type created with compilation warnings

SQL>
SQL> create or replace type body employeeType as
  2      member function f_getIncome_nr return VARCHAR2 is
  3      begin
  4          return sal+comm;
  5      end f_getIncome_nr;
  6      member procedure p_changeName(i_newName_tx VARCHAR2) is
  7      begin
  8          eName:=i_newName_tx;
  9      end p_changeName;
 10  end;
 11  /

SP2-0818: Type Body created with compilation warnings

SQL>
SQL> create table t_emp of employeeType;

Table created.

SQL>
SQL>
SQL> declare
  2      v_employeeType employeeType;
  3  begin
  4      v_employeeType:=employeeType(100,'TestEmp',null,null,sysdate,1000,500,10);
  5      insert into t_emp values v_employeeType;
  6      select value(t) into v_employeeType from t_emp t where empNo=100;
  7      DBMS_OUTPUT.put_line('Name: '||v_employeeType.eName);
  8  end;
  9  /
Name: TestEmp

PL/SQL procedure successfully completed.

SQL>
SQL> drop table t_emp;

Table dropped.

SQL> drop type employeeType;

Type dropped.

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.