Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Q] How can I insert REF OBJECT?
A copy of this was sent to ksjune <ksjune_at_sys.gsnu.ac.kr>
(if that email address didn't require changing)
On Thu, 10 Jun 1999 16:49:53 +0900, you wrote:
>Hi!!.
>I'm beginner in Oracle 8i and manipulating object.
>I've got errors insert data to object.
>Please give me a clue.
>
>SQL> create type addr_t as object ( addr_t_address varchar2(20) );
> 2 /
>Type created.
>
>SQL> create type home_t as object ( home_t_telephon varchar2(15) );
> 2 /
>Type created.
>
>SQL> create type pers_t as object (
> 2 name varchar2(10),
> 3 addr addr_t,
> 4 homeref ref home_t
> 5 );
> 6 /
>
>SQL> create table personal of pers_t;
>Table created.
>
>SQL> desc personal;
> Name Null? Type
> -------------------------------- -------- ---------------------------
> NAME VARCHAR2(10)
> ADDR ADDR_T
> HOMEREF REF OF HOME_T
>
>SQL> insert into personal values
>('ksjune',addr_t('address1'),'0123454');
>insert into personal values ('ksjune',addr_t('address1'),'0123454')
>
>*
>ERROR at line 1:
>ORA-00932: inconsistent datatypes
>
>How can I insert data HOMEREF field?
>Please Help!!!!
>
first -- you need to have an instance of a home_t object! REF's are pointers. you'll need a table of home_t to point to an instance of home_t. Here is a very small (worthless) example that inserts a row into personal:
SQL> create table home_tbl of home_t;
Table created.
SQL> create table personal of pers_t;
Table created.
SQL>
SQL> insert into home_tbl values ( home_t( '1-202-202-3030' ) );
1 row created.
SQL>
SQL> insert into personal
2 select pers_t( 'Tom', addr_t( '123 Main Street' ), ref(h) )
3 from home_tbl h
4 /
1 row created.
I did it by creating a table of home_t, putting a row in there, and then
referencing that row.
>Thanks in advance....
>
>mailto:ksjune_at_sys.gsnu.ac.kr
>
>
See http://www.oracle.com/ideveloper/ for my column 'Digging-in to Oracle8i'... Mirrored (and more current) at http://govt.us.oracle.com/~tkyte/
Current article is "Fine Grained Access Control", added June 8'th
Thomas Kyte tkyte_at_us.oracle.com Oracle Service Industries Reston, VA USA--
![]() |
![]() |