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

Home -> Community -> Usenet -> c.d.o.misc -> Re: Object-relational database.

Re: Object-relational database.

From: John Luongs <johnluongs_at_hotmail.com>
Date: Thu, 01 May 2003 21:22:55 +0800
Message-ID: <3EB11FAF.5365937C@hotmail.com>


How to demo inheritance in Oracle? Thanks.

Rene Nyffenegger wrote:

> > Hi,
> >
> > It seems that Oracle is an object-relational database. Probably this
> > is a stupid question, but... where is the object-oriented part?. The
> > way I have used Oracle so far implies to deal with tables, SQL and
> > PL/SQL to create stored procedures (the same way I would use other
> > only-relational databases as MySQL). Can anybody give me a (simple)
> > example of why Oracle is object oriented?.
>
> The following example creates a type (base_type) from which
> a type is derived (deriv_type). In a table (t_) that
> can store base_type's, an 'instance' of a base_type and
> of a deriv_type is stored. Runs on 9i.
>
>
> create or replace type base_type as object (
> a number,
> constructor function base_type return self as result,
> member function f return number,
> member procedure p(n number)
> ) instantiable not final;
> /
>
> create or replace type body base_type as
> constructor function base_type return self as result is
> begin
> a:=0;
> return;
> end base_type;
>
> member function f return number is
> begin
> return a;
> end f;
>
> member procedure p (n number) as
> begin
> a:=n;
> end p;
>
> end;
> /
>
> create or replace type deriv_type under base_type (
> m number,
> overriding member function f return number
> );
> /
>
> create or replace type body deriv_type as
> overriding member function f return number is
> begin
> return m*a;
> end;
> end;
> /
>
> create table t_(b base_type);
>
> declare
> b base_type := base_type();
> d deriv_type:= deriv_type(8,9);
> begin
> b.p(5);
> insert into t_ values(b);
> insert into t_ values(d);
> end;
> /
>
> hth
> Rene Nyffenegger
>
> --
> Projektleitung und Entwicklung in Oracle/C++/C# Projekten
> http://www.adp-gmbh.ch/cv.html
Received on Thu May 01 2003 - 08:22:55 CDT

Original text of this message

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