Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> SOLUTION: Creating a view on an object column
desc address_ty Name Null? Type ------------------------------- -------- ---- STREET VARCHAR2(50) CITY VARCHAR2(25) STATE CHAR(2) ZIP NUMBERReceived on Thu Mar 11 1999 - 21:23:43 CST
-- create a table with a column object of the new object type
create table test( address address_ty ) storage( initial 1K next 1K pctincrease 0 ) desc test Name Null? Type ------------------------------- -------- ---- ADDRESS ADDRESS_TY
-- place a row into the new table
insert into test values (address_ty('642 Chestnut St.', 'San Francisco', 'CA', 94123)); commit;
-- bad syntax for creating a view on the table
create or replace view test_ov(address) as select address_ty(street,city,state,zip) from test;
-- error caused by flawed attempt at view creation
select address_ty(street,city,state,zip) * ERROR at line 2: ORA-00904: invalid column name
-- proper syntax for view creation
-- on all columns of the underlying table.
-- instead of using the name of the object type,
-- use the name of the column in the underlying table.
create or replace view test_ov(address) as select address from test;
-- proper syntax for view creation
-- on a single column of the underlying table.
-- note that both a column alias
-- and a table alias are required.
create or replace view test_ov(address) as select t.address.street street_alias from test t;
![]() |
![]() |