Select the object type from the table, rather than the columns.
SQL>
SQL>
SQL> CREATE TABLE rel_tab (
2 f1 NUMBER,
3 f2 VARCHAR2(50)
4 );
Table created.
SQL>
SQL> CREATE or replace TYPE objType AS OBJECT (
2 f1 NUMBER,
3 f2 VARCHAR2(50)
4 );
5 /
Type created.
SQL> show errors
No errors.
SQL>
SQL> CREATE TABLE obj_tab OF objType;
Table created.
SQL>
SQL>
SQL> DECLARE
2 v_Row obj_tab%ROWTYPE;
3 CURSOR c_AllRows IS
4 SELECT VALUE(o) FROM obj_tab o;
5 BEGIN
6 OPEN c_AllRows;
7 LOOP
8 FETCH c_AllRows INTO v_Row;
9 EXIT WHEN c_AllRows%NOTFOUND;
10 DBMS_OUTPUT.PUT_LINE(v_Row.f1 || ' ' || v_Row.f2);
11 END LOOP;
12 CLOSE c_AllRows;
13 END;
14 /
PL/SQL procedure successfully completed.
SQL>
SQL> drop table rel_tab;
Table dropped.
SQL> drop table obj_tab;
Table dropped.
Related examples in the same category