Create_ObjectType_EmpT2.thm
 
Scripts:

Creating object :

CREATE or REPLACE TYPE emp_T2 AS OBJECT (
eid NUMBER(4),
fname VARCHAR2(20),
lname VARCHAR2(25),
job VARCHAR2(25),
address VARCHAR2(120),
MAP MEMBER FUNCTION get_eid RETURN NUMBER,
MEMBER PROCEDURE emp_info ( SELF IN OUT NOCOPY emp_T2 ));
/

 

 

SCRIPT FOR body:

CREATE TYPE BODY emp_T2 AS
MAP MEMBER FUNCTION get_eid RETURN NUMBER IS
BEGIN
RETURN eid;
END;
MEMBER PROCEDURE emp_info ( SELF IN OUT NOCOPY emp_T2 ) IS
BEGIN
--
DBMS_OUTPUT.PUT_LINE(TO_CHAR(eid) || ' ' || fname || ' ' || lname);
DBMS_OUTPUT.PUT_LINE(job || ' ' || address);
END;
END;

 

Script to create a table:

DROP TABLE empt2_tbl;
CREATE TABLE empt2_tbl (
info emp_T2,
hire_date DATE );
INSERT INTO empt2_tbl VALUES (
emp_T2 (1001, 'Anita', 'Das', 'MANAGER', 'ADDRESS 1'),
'24 Jun 1997' );
INSERT INTO empt2_tbl VALUES (
emp_T2 (1002, 'Frank', 'Delon', 'CLERK', 'ADDRESS 2'),
'21 May 1998' );
INSERT INTO empt2_tbl VALUES (
emp_T2 (1003, 'Juno', 'Rastogi', 'SALESMAN', 'ADDRESS 3'),
'17 Jan 2001' );
INSERT INTO empt2_tbl VALUES (
emp_T2 (1004, 'Sunil', 'Pandey', 'SALESMAN', 'ADDRESS 4'),
'15 Aug 2001' );

Accessing with php

SELECT e.info.eid, e.info.fname, e.info.lname,e.info.job, e.info.address, e.hire_date FROM empt2_tbl e

Creating column aliases

SELECT e.info.eid eid, e.info.fname fname, e.info.lname lname,e.info.job job, e.info.address address, e.hire_date FROM empt2_tbl e