VALUE() selects a row from an object table.
VALUE()
treats the row as an actual object.
CREATE TYPE t_emp AS OBJECT (
id INTEGER,
name VARCHAR2(10),
sal NUMBER(5, 2),
hiredate DATE,
MEMBER FUNCTION get_hire_date RETURN DATE
);
/
CREATE TYPE BODY t_emp AS
MEMBER FUNCTION get_hire_date RETURN DATE IS
v_date DATE;
BEGIN
SELECT hiredate INTO v_date FROM dual;
RETURN v_date;
END;
END;
/
SQL> CREATE TABLE emp OF t_emp;
Table created.
SQL>
SQL> INSERT INTO emp VALUES (t_emp(1, 'Peter', 395,'17-DEC-1980'));
1 row created.
SQL>
SQL> SELECT VALUE(op)
2 FROM emp op;
VALUE(OP)(ID, NAME, SAL, HIREDATE)
--------------------------------------------------
T_EMP(1, 'Peter', 395, '17-DEC-80')
SQL>
Add an object attribute after VALUE()
:
SQL> SELECT VALUE(op).id, VALUE(op).name, VALUE(op).sal FROM emp op;
VALUE(OP).ID VALUE(OP). VALUE(OP).SAL
------------ ---------- -------------
1 Peter 395
SQL>
Home »
Oracle »
PL/SQL »
Oracle »
PL/SQL »
Object Types:
- Creating Object Types
- A type with member function:
- Using DESCRIBE to Get Information on Object Types
- Using Object Types in Database Tables
- Retrieve an individual column object from a table
- Call method from type
- UPDATE/DELETE row based on custom data type
- Object Tables
- VALUE() selects a row from an object table.
- UPDATE Object Table
- DELETE rows from Object Table
- Object table abased on nested types
- Object Identifiers and Object References
- REF type for an object reference
- Retrieve the actual objects stored in an object reference using the DEREF() function,
- Comparing Object Values
Related: