Create or replace type home_type as object(addr varchar2(1000),tel varchar2(20)); --定义地址对象
Create table homes of home_type; --定义家庭地址表
INSERT INTO homes values('AAAAA','11111111'); --插入家庭地址数据
INSERT INTO homes values('BBBBB','22222222'); --插入家庭地址数据Create table person(id number, name varchar2(10), addr ref home_type); --定义人员表Insert into person Select 1,'maming',ref(p) from homes p where p. tel = '11111111'我查询person表时的addr字段里是一些数字和字母(可能是指针地址)那我该怎么查询person表才能查出真正的数据。

解决方案 »

  1.   

    Create table person(id number, name varchar2(10), addr ref home_type); --定义人员表 这个地方需要用ref吗
    Create table person(id number, name varchar2(10), addr home_type); 
    这样不可以吗
      

  2.   

    我现在想查person表时的addr字段里真正的数据。
    要用普通的SELECT查出来的是一些数字和字母不是真正的数据。
      

  3.   

    select * from person,homes
      where person.addr=ref(homes)
      

  4.   

    不行啊,
    提示我:ORA-00904 "HOMES":标识符无效。
      

  5.   

    select * from person p,homes h
      where p.addr=ref(h)