Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Q] How can I insert REF OBJECT?

Re: Q] How can I insert REF OBJECT?

From: Thomas Kyte <tkyte_at_us.oracle.com>
Date: Thu, 10 Jun 1999 12:28:20 GMT
Message-ID: <3766aee0.5195791@newshost.us.oracle.com>


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
--
Opinions are mine and do not necessarily reflect those of Oracle Corporation Received on Thu Jun 10 1999 - 07:28:20 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US