From: <ÓÉ Microsoft Internet Explorer 5 ±£´æ>
Subject: 27 Object Datatypes and Object Views
Date: Fri, 10 Aug 2007 23:11:13 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C7DBA3.BF08DDD0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C7DBA3.BF08DDD0
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: file://D:\Zhengwu\Oracle.Concept.10g.R2.Translation.Programe\Release.Version\27.Object Datatypes and Object Views.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>27 Object Datatypes and Object Views</TITLE>
<META http-equiv=3DContent-Language content=3Dzh-cn>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<STYLE>DIV.Section1 {
	page: Section1
}
</STYLE>

<META content=3Dzw1840@hotmail.com name=3Dauthor>
<META content=3D"MSHTML 6.00.2900.3132" name=3DGENERATOR></HEAD>
<BODY style=3D"BACKGROUND-ATTACHMENT: fixed"=20
background=3Dfile:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Program=
e/img/bk.jpg>
<P><B><FONT size=3D6>27 Object Datatypes and Object Views</FONT></B></P>
<HR>

<TABLE id=3Dtable1 cellSpacing=3D1 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">001</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
types and=20
      other user-defined datatypes let you define datatypes that model =
the=20
      structure and behavior of the data in their applications. An =
object view=20
      is a virtual object table.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=BF=AA=B7=A2=D5=DF=BF=C9=D2=D4=CA=B9=D3=C3=B6=D4=CF=F3=C0=E0=
=D0=CD[object=20
      =
type]=BC=B0=D3=C3=BB=A7=B6=A8=D2=E5=CA=FD=BE=DD=C0=E0=D0=CD[user-defined =
datatype]=CA=B5=CF=D6=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=CB=F9=D0=E8=B5=C4=CA=FD=
=BE=DD=BD=E1=B9=B9=BC=B0=CA=FD=BE=DD=B5=C4=D0=D0=CE=AA=A1=A3=B6=D4=CF=F3=CA=
=D3=CD=BC[object=20
      view]=CA=C7=D2=BB=D6=D6=D0=E9=C4=E2=B6=D4=CF=F3=B1=ED[virtual =
object table]=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">002</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">This =
chapter=20
      contains the following topics:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.1"=20
        target=3D_self>Introduction to Object Datatypes</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.2"=20
        target=3D_self>Overview of Object Datatype Categories</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.3"=20
        target=3D_self>Overview of Type Inheritance</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.4"=20
        target=3D_self>Overview of User-Defined Aggregate Functions</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.5"=20
        target=3D_self>Overview of Datatype Evolution</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.6"=20
        target=3D_self>Introduction to Object Views</A> </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B1=BE=D5=C2=B0=FC=BA=AC=D2=D4=CF=C2=D6=F7=CC=E2=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.1"=20
        =
target=3D_self>=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=BC=F2=BD=E9</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.2"=20
        =
target=3D_self>=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=B7=D6=C0=E0=B8=C5=CA=F6=
</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.3"=20
        target=3D_self>=C0=E0=D0=CD=BC=CC=B3=D0=B8=C5=CA=F6</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.4"=20
        =
target=3D_self>=D3=C3=BB=A7=B6=A8=D2=E5=BE=DB=BA=CF=BA=AF=CA=FD=B8=C5=CA=F6=
</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.5"=20
        =
target=3D_self>=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=D1=DD=BB=AF=B8=C5=CA=F6=
</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.6"=20
        target=3D_self>=B6=D4=CF=F3=CA=D3=CD=BC=BC=F2=BD=E9</A> =
</LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">003</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A =
name=3De.27.1></A>Introduction to=20
      Object Datatypes</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.27.1></A>27.1=20
      =
=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=BC=F2=BD=E9</SPAN></H1></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">004</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Oracle =
object=20
      technology is a layer of abstraction built on Oracle's relational=20
      technology. New object types can be created from any built-in =
database=20
      types or any previously created object types, object references, =
and=20
      collection types. <SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">Metadata for=20
      user-defined types is stored in a schema available to SQL, PL/SQL, =
Java,=20
      and other published interfaces.</SPAN> Object datatypes make it =
easier to=20
      work with complex data, such as images, audio, and =
video.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle =
=B6=D4=CF=F3=BC=BC=CA=F5=CA=C7=B9=B9=BD=A8=D3=DA Oracle=20
      =
=B9=D8=CF=B5=CA=FD=BE=DD=BF=E2=BC=BC=CA=F5=D6=AE=C9=CF=B5=C4=D2=BB=B8=F6=B3=
=E9=CF=F3=B2=E3=A1=A3=B6=D4=CF=F3=C0=E0=D0=CD[object =
type]=BF=C9=D2=D4=BB=F9=D3=DA=CA=FD=BE=DD=BF=E2=C4=DA=D6=C3=B5=C4=CA=FD=BE=
=DD=C0=E0=D0=CD[built-in database=20
      =
type]=A3=AC=BB=F2=D2=D1=B4=B4=BD=A8=B5=C4=B6=D4=CF=F3=C0=E0=D0=CD=A3=AC=B6=
=D4=CF=F3=D2=FD=D3=C3[object =
reference]=A3=AC=BC=B0=BC=AF=BA=CF=C0=E0=D0=CD[collection =
type]=A1=A3<SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=D3=C3=BB=A7=B6=A8=D2=E5=C0=E0=D0=CD[user-defined=20
      =
type]=B5=C4=D4=AA=CA=FD=BE=DD=CB=F9=D4=DA=B5=C4=B7=BD=B0=B8[schema]=BF=C9=
=B9=A9 =
SQL=A3=ACPL/SQL=A3=ACJava=A3=AC=BC=B0=C6=E4=CB=FB=B9=AB=BF=AA=B5=C4=BD=D3=
=BF=DA[published=20
      =
interface]=CA=B9=D3=C3=A1=A3</SPAN>=CD=A8=B9=FD=B6=D4=CF=F3=C0=E0=D0=CD=B8=
=FC=D2=D7=D3=DA=B4=A6=C0=ED=B8=B4=D4=D3=CA=FD=BE=DD=A3=AC=C0=FD=C8=E7=CD=BC=
=CF=F1=A3=AC=D2=F4=C6=B5=A3=AC=BC=B0=CA=D3=C6=B5=A1=A3<BR>=A1=A1</TD></TR=
>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">005</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
object type=20
      differs from native SQL datatypes in that it is user-defined, and =
it=20
      specifies both the underlying persistent data (attributes) and the =
related=20
      behaviors (methods). Object types are abstractions of the =
real-world=20
      entities, for example, purchase orders. Object types store =
structured=20
      business data in its natural form and allow applications to =
retrieve it=20
      that way.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=C0=E0=D0=CD=D3=EB=C4=DA=D6=C3 SQL =
=CA=FD=BE=DD=C0=E0=D0=CD[native SQL=20
      =
datatype]=B5=C4=C7=F8=B1=F0=D4=DA=D3=DA=A3=AC=C7=B0=D5=DF=CE=AA=D3=C3=BB=A7=
=D7=D4=B6=A8=D2=E5=B5=C4=A3=AC=C7=D2=C6=E4=D6=D0=BC=C8=B6=A8=D2=E5=C1=CB=B3=
=D6=BE=C3=CA=FD=BE=DD[persistent=20
      =
data=A3=A8=CA=F4=D0=D4[attribute]=A3=A9=A3=AC=D2=B2=B6=A8=D2=E5=C1=CB=CF=E0=
=B9=D8=B5=C4=D0=D0=CE=AA[behavior]=A3=A8=B7=BD=B7=A8[method]=A3=A9=A1=A3=B6=
=D4=CF=F3=C0=E0=D0=CD=CA=C7=D5=E6=CA=B5=CA=C0=BD=E7=D6=D0=CA=B5=CC=E5=B5=C4=
=B3=E9=CF=F3=A3=AC=C0=FD=C8=E7=A3=AC=B6=A9=B5=A5=BF=C9=D2=D4=B1=BB=B3=E9=CF=
=F3=CE=AA=B6=D4=CF=F3=A1=A3=CD=A8=B9=FD=B6=D4=CF=F3=C0=E0=D0=CD=A3=AC=BF=AA=
=B7=A2=D5=DF=C4=DC=B9=BB=D2=D4=D7=D4=C8=BB=D0=CE=CC=AC=B4=E6=B4=A2=BD=E1=B9=
=B9=BB=AF=B5=C4=D2=B5=CE=F1=CA=FD=BE=DD=A3=AC=D3=A6=D3=C3=B3=CC=D0=F2=D2=B2=
=C4=DC=B9=BB=D2=D4=D7=D4=C8=BB=D0=CE=CC=AC=CA=B9=D3=C3=D5=E2=D0=A9=CA=FD=BE=
=DD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">006</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
types and=20
      related object-oriented features, such as variable-length arrays =
and=20
      nested tables, provide higher-level ways to organize and access =
data in=20
      the database. Underneath the object layer, data is still stored in =
columns=20
      and tables, but you can work with the data in terms of the =
real-world=20
      entities--customers and purchase orders, for example--that make =
the data=20
      meaningful. Instead of thinking in terms of columns and tables =
when you=20
      query the database, you can simply select a =
customer.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=C0=E0=D0=CD=BC=B0=C6=E4=CB=FB Oracle=20
      =
=B5=C4=C3=E6=CF=F2=B6=D4=CF=F3=CC=D8=D0=D4=A3=A8=C0=FD=C8=E7=B1=E4=B3=A4=CA=
=FD=D7=E9[variable-length array]=BC=B0=C7=B6=CC=D7=B1=ED[nested=20
      =
table]=A3=A9=CE=AA=BF=AA=B7=A2=D5=DF=CC=E1=B9=A9=C1=CB=D2=BB=D6=D6=B8=FC=B8=
=DF=B2=E3=B5=C4=D7=E9=D6=AF=BC=B0=B7=C3=CE=CA=CA=FD=BE=DD=B5=C4=B7=BD=CA=BD=
=A1=A3=D4=DA=B6=D4=CF=F3=B2=E3=D6=AE=CF=C2=A3=AC=CA=FD=BE=DD=D2=C0=BE=C9=D2=
=D4=B1=ED=BA=CD=C1=D0=B5=C4=D0=CE=CA=BD=B4=E6=B4=A2=A3=AC=B5=AB=CA=C7=D3=C3=
=BB=A7=BF=C9=D2=D4=CF=F1=B4=A6=C0=ED=D5=E6=CA=B5=CA=C0=BD=E7=CA=B5=CC=E5=A3=
=A8=C0=FD=C8=E7=BF=CD=BB=A7=BC=B0=B6=A9=B5=A5=A3=A9=D2=BB=D1=F9=CA=B9=D3=C3=
=CA=FD=BE=DD=A3=AC=D5=E2=D6=D6=B7=BD=CA=BD=20
      =
=C1=EE=CA=FD=BE=DD=B5=C4=BA=AC=D2=E5=B8=FC=C7=E5=CE=FA=A1=A3=D3=C3=BB=A7=D4=
=DA=B2=E9=D1=AF=CA=FD=BE=DD=BF=E2=CA=B1=C3=E6=B6=D4=B5=C4=B2=BB=D4=D9=CA=C7=
=B1=ED=BC=B0=C1=D0=A3=AC=B6=F8=CA=C7=D1=A1=D4=F1=D2=BB=B8=F6=B6=D4=CF=F3=A3=
=AC=C0=FD=C8=E7=D2=BB=B8=F6=BF=CD=BB=A7=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">007</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Internally,=20
      statements about objects are still basically statements about =
relational=20
      tables and columns, and you can continue to work with relational =
datatypes=20
      and store data in relational tables. But you have the option to =
take=20
      advantage of object-oriented features too. You can use =
object-oriented=20
      features while continuing to work with most of your relational =
data, or=20
      you can go over to an object-oriented approach entirely. For =
instance, you=20
      can define some object datatypes and store the objects in columns =
in=20
      relational tables. You can also create object views of existing =
relational=20
      data to represent and access this data according to an object =
model. Or=20
      you can store object data in object tables, where each row is an=20
      object.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">=D4=DA Oracle=20
      =
=C4=DA=B2=BF=A3=AC=B2=D9=D7=F7=B6=D4=CF=F3=B5=C4=D3=EF=BE=E4=D2=C0=BE=C9=CA=
=C7=B7=C3=CE=CA=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=B1=ED=B5=C4=BB=F9=B1=BE=D3=EF=
=BE=E4=A3=AC=D3=C3=BB=A7=D2=B2=BF=C9=D2=D4=BC=CC=D0=F8=B2=D9=D7=F7=B9=D8=CF=
=B5=D0=CD=CA=FD=BE=DD=C0=E0=D0=CD=BB=F2=BD=AB=CA=FD=BE=DD=B4=E6=B4=A2=D4=DA=
=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=B1=ED=D6=D0=A1=A3=B5=AB=CA=C7=A3=AC=D3=C3=BB=
=A7=BF=C9=D2=D4=CD=AC=CA=B1=B7=A2=BB=D3=C3=E6=CF=F2=B6=D4=CF=F3=CC=D8=D0=D4=
=B5=C4=D3=C5=CA=C6=A1=A3=C0=FD=C8=E7=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=B2=C9=D3=
=C3=B9=D8=CF=B5=D0=CD=B5=C4=B7=BD=CA=BD=B4=A6=C0=ED=B4=F3=B6=E0=CA=FD=CA=FD=
=BE=DD=A3=AC=CD=AC=CA=B1=B2=C9=D3=C3=C3=E6=CF=F2=B6=D4=CF=F3=B7=BD=CA=BD=B4=
=A6=C0=ED=B2=BF=B7=D6=CA=FD=BE=DD=A3=BB=D3=C3=BB=A7=D2=B2=BF=C9=D2=D4=C8=AB=
=C3=E6=B5=D8=B2=C9=D3=C3=C3=E6=CF=F2=B6=D4=CF=F3=B7=BD=CA=BD=A1=A3=BE=DF=CC=
=E5=C0=B4=CB=B5=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=B6=A8=D2=E5=B6=D4=CF=F3=C0=E0=
=D0=CD=A3=AC=B2=A2=BD=AB=B6=D4=CF=F3=CA=FD=BE=DD=B4=E6=B4=A2=D4=DA=B9=D8=CF=
=B5=D0=CD=CA=FD=BE=DD=B1=ED=D6=D0=A3=BB=D2=B2=BF=C9=D2=D4=D4=DA=D2=D1=D3=D0=
=20
      =
=B5=C4=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=C9=CF=B4=B4=BD=A8=B6=D4=CF=F3=CA=D3=CD=
=BC=A3=AC=B2=A2=B2=C9=D3=C3=B6=D4=CF=F3=C4=A3=D0=CD=B7=C3=CE=CA=BB=F2=D5=B9=
=CF=D6=CA=FD=BE=DD=A3=BB=BB=F2=D5=DF=BD=AB=B6=D4=CF=F3=CA=FD=BE=DD=B4=E6=B4=
=A2=D3=DA=B6=D4=CF=F3=B1=ED=D6=D0=A3=A8=C6=E4=D6=D0=B5=C4=C3=BF=B8=F6=CA=FD=
=BE=DD=D0=D0=B6=BC=CE=AA=D2=BB=B8=F6=B6=D4=CF=F3=A3=A9=A1=A3<BR>=A1=A1</T=
D></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">008</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational=20
      Features</A></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational=20
      Features</A></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">009</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.1.1></A>Complex Data Models</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.1.1></A>27.1.1 =
=B8=B4=D4=D3=CA=FD=BE=DD=C4=A3=D0=CD</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">010</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">The =
Oracle database=20
      server lets you define complex business models in SQL and make =
them part=20
      of your database schema. Applications that manage and share your =
data need=20
      only contain the application logic, not the data =
logic.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3 SQL =
=D3=EF=BE=E4=D4=DA Oracle=20
      =
=CA=FD=BE=DD=BF=E2=B7=FE=CE=F1=C6=F7=D6=D0=B5=C4=B6=A8=D2=E5=B8=B4=D4=D3=D2=
=B5=CE=F1=C4=A3=D0=CD=A3=AC=B2=A2=BD=AB=C4=A3=D0=CD=B1=A3=B4=E6=D4=DA=CA=FD=
=BE=DD=BF=E2=B7=BD=B0=B8=D6=D0=A1=A3=D3=C3=D3=DA=B9=DC=C0=ED=BC=B0=B9=B2=CF=
=ED=CA=FD=BE=DD=B5=C4=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=D6=BB=D0=E8=B0=FC=BA=AC=
=D3=A6=D3=C3=C2=DF=BC=AD=A3=AC=B6=F8=CE=DE=D0=E8=B0=FC=BA=AC=CA=FD=BE=DD=C2=
=DF=BC=AD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">011</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">For =
example, your=20
      firm might use purchase orders to organize its purchasing, =
accounts=20
      payable, shipping, and accounts receivable =
functions.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C0=FD=C8=E7=A3=AC=D3=C3=BB=A7=CD=A8=B9=FD=B6=A9=B5=A5[purc=
hase=20
      =
order]=C0=B4=B9=DC=C0=ED=B2=C9=B9=BA[purchasing]=A3=AC=D3=A6=B8=B6=D5=CA=BF=
=EE[accounts =
payable]=A3=AC=D4=CB=CB=CD[shipping]=A3=AC=BC=B0=D3=A6=CA=D5=D5=CA=BF=EE[=
accounts=20
      receivable]=B5=C8=D2=B5=CE=F1=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">012</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
purchase order=20
      contains an associated supplier or customer and an indefinite =
number of=20
      line items. In addition, applications often need dynamically =
computed=20
      status information about purchase orders. You may need the current =
value=20
      of the shipped or unshipped line items.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B6=A9=B5=A5=D6=D0=B0=FC=BA=AC=D3=EB=D2=B5=CE=F1=CF=E0=B9=D8=
=B5=C4=BF=CD=BB=A7=A3=AC=B9=A9=D3=A6=C9=CC=A3=AC=BC=B0=CF=FA=CA=DB=B2=FA=C6=
=B7=B5=C4=CA=FD=C1=BF=A1=A3=D4=DA=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=D0=E8=D2=AA=
=B6=AF=CC=AC=B5=D8=B6=D4=B6=A9=B5=A5=BD=F8=D0=D0=CD=B3=BC=C6=A1=A3=D2=F2=B4=
=CB=D0=E8=D2=AA=BB=F1=C8=A1=D2=D1=B7=A2=CB=CD=BC=B0=CE=B4=B7=A2=CB=CD=B2=FA=
=C6=B7=B5=C4=CA=FD=C1=BF=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">013</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
<B>object=20
      type</B> is a schema object that serves as a template for all =
purchase=20
      order data in your applications. An object type specifies the =
elements,=20
      called <B>attributes</B>, that make up a structured data unit, =
such as a=20
      purchase order. Some attributes, such as the list of line items, =
can be=20
      other structured data units. The object type also specifies the=20
      operations, called <B>methods</B>, you can perform on the data =
unit, such=20
      as determining the total value of a purchase order.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=FA=B1=ED=B6=A9=B5=A5=B5=C4<B>=B6=D4=CF=F3=C0=E0=D0=CD</=
B>[object=20
      =
type]=CA=C7=D2=BB=B8=F6=B7=BD=B0=B8=B6=D4=CF=F3=A3=AC=D4=DA=D3=A6=D3=C3=B3=
=CC=D0=F2=D6=D0=BF=C9=D2=D4=D7=F7=CE=AA=CB=F9=D3=D0=B6=A9=B5=A5=CA=FD=BE=DD=
=B5=C4=C4=A3=B0=E6=A1=A3=B6=D4=CF=F3=C0=E0=D0=CD=D6=D0=BF=C9=D2=D4=B0=FC=BA=
=AC=B6=E0=B8=F6=D4=AA=CB=D8[element]=A3=AC=CE=D2=C3=C7=B3=C6=D6=AE=CE=AA<=
B>=CA=F4=D0=D4</B>[attribute]=A3=AC=D5=E2=D0=A9=CA=F4=D0=D4=B9=B2=CD=AC=B9=
=B9=B3=C9=C1=CB=BD=E1=B9=B9=BB=AF=B5=C4=CA=FD=BE=DD=B5=A5=D4=AA[structure=
d=20
      data=20
      =
unit]=A3=AC=C0=FD=C8=E7=B6=A9=B5=A5=A1=A3=CA=F4=D0=D4=BF=C9=D2=D4=CA=C7=C1=
=ED=D2=BB=D6=D6=BD=E1=B9=B9=BB=AF=CA=FD=BE=DD=B5=A5=D4=AA=A3=A8=B6=D4=CF=F3=
=C0=E0=D0=CD=A3=A9=A3=AC=C0=FD=C8=E7=CF=FA=CA=DB=B2=FA=C6=B7=C1=D0=B1=ED=A1=
=A3=B6=D4=CF=F3=C0=E0=D0=CD=D6=D0=BB=B9=BF=C9=D2=D4=B0=FC=BA=AC=B6=E0=D6=D6=
=B2=D9=D7=F7=A3=AC=CE=D2=C3=C7=B3=C6=D6=AE=CE=AA<B>=B7=BD=B7=A8</B>[metho=
d]=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=B6=D4=D2=BB=B8=F6=CA=FD=BE=DD=B5=A5=D4=AA=
=D6=B4=D0=D0=C4=B3=D6=D6=B7=BD=B7=A8=A3=AC=C0=FD=C8=E7=BC=C6=CB=E3=B6=A9=B5=
=A5=B5=C4=D7=DC=C1=BF=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">014</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can create=20
      purchase orders that match the template and store them in table =
columns,=20
      just as you would numbers or dates.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=D2=C0=BE=DD=C4=A3=B0=E6=B4=B4=BD=A8=
=B6=A9=B5=A5=A3=AC=B2=A2=BD=AB=CA=FD=BE=DD=B4=E6=B4=A2=D3=DA=B1=ED=B5=C4=CA=
=FD=BE=DD=C1=D0=D6=D0=A3=AC=BE=CD=C8=E7=CD=AC=B4=E6=B4=A2=CA=FD=D7=D6=BB=F2=
=C8=D5=C6=DA=C0=E0=D0=CD=CA=FD=BE=DD=D2=BB=D1=F9=A1=A3<BR>=A1=A1</TD></TR=
>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">015</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can also store=20
      purchase orders in <B>object tables</B>, where each row of the =
table=20
      corresponds to a single purchase order and the table columns are =
the=20
      purchase order's attributes.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=D2=B2=BF=C9=D2=D4=BD=AB=B6=A9=B5=A5=CA=FD=BE=DD=
=B4=E6=B4=A2=D4=DA<B>=B6=D4=CF=F3=B1=ED</B>[object=20
      =
table]=D6=D0=A3=AC=B6=D4=CF=F3=B1=ED=D6=D0=C3=BF=D0=D0=CA=FD=BE=DD=B4=FA=B1=
=ED=D2=BB=B8=F6=B6=A9=B5=A5=A3=AC=B6=D4=CF=F3=B1=ED=D6=D0=B5=C4=C3=BF=C1=D0=
=B6=D4=D3=A6=B6=A9=B5=A5=B5=C4=D2=BB=B8=F6=CA=F4=D0=D4=A1=A3<BR>=A1=A1</T=
D></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">016</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Because the logic of=20
      the purchase order's structure and behavior is in your schema, =
your=20
      applications do not need to know the details and do not have to =
keep up=20
      with most changes.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D3=C9=D3=DA=B6=A9=B5=A5=CA=FD=BE=DD=B5=C4=BD=E1=B9=B9=BC=B0=
=D0=D0=CE=AA=B4=E6=B4=A2=D3=DA=CA=FD=BE=DD=BF=E2=B7=BD=B0=B8=D6=D0=A3=AC=D2=
=F2=B4=CB=D3=A6=D3=C3=B3=CC=D0=F2=B2=BB=B1=D8=C1=CB=BD=E2=B6=A9=B5=A5=CA=FD=
=BE=DD=B5=C4=CF=B8=BD=DA=A3=AC=B5=B1=B6=A9=B5=A5=B5=C4=CA=FD=BE=DD=C2=DF=BC=
=AD=B7=A2=C9=FA=B1=E4=BB=AF=CA=B1=D3=A6=D3=C3=B3=CC=D0=F2=D2=B2=B2=BB=B1=D8=
=D0=DE=B8=C4=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">017</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Oracle uses schema information =
about=20
      object types to achieve substantial transmission efficiencies. A=20
      client-side application can request a purchase order from the =
server and=20
      receive all the relevant data in a single transmission. The =
application=20
      can then, without knowing storage locations or implementation =
details,=20
      navigate among related data items without further transmissions =
from the=20
      server.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Oracle=20
      =
=D4=DA=B7=BD=B0=B8=D6=D0=B4=E6=B4=A2=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=D0=C5=CF=
=A2=A3=AC=B4=D3=B6=F8=CC=E1=B8=DF=C1=CB=CA=FD=BE=DD=B4=AB=CA=E4=B5=C4=D0=A7=
=C2=CA=A1=A3=CE=BB=D3=DA=BF=CD=BB=A7=B6=CB=B5=C4=D3=A6=D3=C3=B3=CC=D0=F2=BF=
=C9=D2=D4=CF=F2=CA=FD=BE=DD=BF=E2=B7=FE=CE=F1=C6=F7=C7=EB=C7=F3=B6=A9=B5=A5=
=C0=E0=D0=CD=A3=AC=B2=A2=D4=DA=D2=BB=B4=CE=B4=AB=CA=E4=D6=D0=BB=F1=B5=C3=C8=
=AB=B2=BF=D3=D0=B9=D8=B5=C4=CA=FD=BE=DD=A1=A3=B4=CB=BA=F3=D3=A6=D3=C3=B3=CC=
=D0=F2=BF=C9=D2=D4=CA=B9=D3=C3=B8=F7=B8=F6=CA=FD=BE=DD=CF=EE=A3=AC=B6=F8=B2=
=BB=B1=D8=D4=D9=B4=CE=B7=C3=CE=CA=B7=FE=CE=F1=C6=F7=A3=AC=D2=B2=B2=BB=B1=D8=
=C1=CB=BD=E2=CA=FD=BE=DD=B5=C4=B4=E6=B4=A2=CE=BB=D6=C3=BC=B0=CA=B5=CF=D6=CF=
=B8=BD=DA=A1=A3<BR>=A1=A1</SPAN></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">018</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.1.2></A>Multimedia Datatypes</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.1.2></A>27.1.2 =
=B6=E0=C3=BD=CC=E5=CA=FD=BE=DD=C0=E0=D0=CD</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">019</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Many =
efficiencies of=20
      database systems arise from their optimized management of basic =
datatypes=20
      like numbers, dates, and characters. Facilities exist for =
comparing=20
      values, determining their distributions, building efficient =
indexes, and=20
      performing other optimizations.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B6=E0=CA=FD=CA=FD=BE=DD=BF=E2=CF=B5=CD=B3=BE=F9=C4=DC=B9=BB=
=CD=A8=B9=FD=D3=C5=BB=AF=B6=D4=CA=FD=D7=D6=A3=AC=C8=D5=C6=DA=A3=AC=BC=B0=D7=
=D6=B7=FB=B5=C8=BB=F9=B1=BE=CA=FD=BE=DD=C0=E0=D0=CD=B5=C4=B9=DC=C0=ED=C0=B4=
=CC=E1=C9=FD=CF=B5=CD=B3=D0=D4=C4=DC=A1=A3=CA=FD=BE=DD=BF=E2=CD=A8=B3=A3=CC=
=E1=B9=A9=C1=CB=CA=FD=BE=DD=D6=B5=B1=C8=BD=CF=A3=AC=CA=FD=BE=DD=B7=D6=B2=BC=
=A3=AC=B9=B9=BD=A8=B8=DF=D0=A7=CB=F7=D2=FD=A3=AC=BC=B0=C6=E4=CB=FB=D3=C5=BB=
=AF=B4=EB=CA=A9=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">020</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Text, =
video, sound,=20
      graphics, and spatial data are examples of important business =
entities=20
      that do not fit neatly into those basic types. Oracle Enterprise =
Edition=20
      supports modeling and implementation of these complex =
datatypes.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=CE=C4=B1=BE=A3=AC=CA=D3=C6=B5=A3=AC=D2=F4=C6=B5=A3=AC=CD=BC=
=CF=F1=A3=AC=BC=B0=B5=D8=C0=ED=BF=D5=BC=E4=CA=FD=BE=DD=CA=C7=B7=C7=B3=A3=D6=
=D8=D2=AA=B5=C4=D2=B5=CE=F1=D0=C5=CF=A2=A3=AC=B5=AB=B2=A2=B2=BB=CA=F4=D3=DA=
=BB=F9=B1=BE=B5=C4=CA=FD=BE=DD=C0=E0=D0=CD=A1=A3Oracle=20
      =
=CA=FD=BE=DD=BF=E2=C6=F3=D2=B5=B0=E6=CC=E1=B9=A9=C1=CB=D5=E2=D0=A9=B8=B4=D4=
=D3=CA=FD=BE=DD=C0=E0=D0=CD=A3=AC=B2=A2=BF=C9=C0=FB=D3=C3=D5=E2=D0=A9=B8=B4=
=D4=D3=CA=FD=BE=DD=C0=E0=D0=CD=B9=B9=BD=A8=CA=FD=BE=DD=C4=A3=D0=CD=A1=A3<=
BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">021</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3De.27.2></A>Overview =
of Object=20
      Datatype Categories</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.27.2></A>27.2=20
      =
=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=B7=D6=C0=E0=B8=C5=CA=F6</SPAN></H1><=
/TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">022</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">There =
are two=20
      categories of object datatypes:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Object types=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Collection types =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=BF=C9=D2=D4=B7=D6=CE=AA=
=C1=BD=C0=E0=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">=B6=D4=CF=F3=C0=E0=D0=CD=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=BC=AF=BA=CF=C0=E0=D0=CD =
</LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">023</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
datatypes use=20
      the built-in datatypes and other user-defined datatypes as the =
building=20
      blocks for datatypes that model the structure and behavior of data =
in=20
      applications.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=BF=C9=D2=D4=CA=B9=D3=C3=
 Oracle=20
      =
=C4=DA=D6=C3=CA=FD=BE=DD=C0=E0=D0=CD=BC=B0=C6=E4=CB=FB=D3=C3=BB=A7=B6=A8=D2=
=E5=CA=FD=BE=DD=C0=E0=D0=CD=D7=F7=CE=AA=B9=B9=BD=A8=D4=AA=CB=D8=A3=AC=B6=A8=
=D2=E5=D3=A6=D3=C3=B3=CC=D0=F2=CB=F9=D0=E8=CA=FD=BE=DD=B5=C4=BD=E1=B9=B9=BC=
=B0=D0=D0=CE=AA=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">024</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
types are=20
      schema objects. Their use is subject to the same kinds of =
administrative=20
      control as other schema objects.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D3=C3=BB=A7=B6=A8=D2=E5=B5=C4=B6=D4=CF=F3=C0=E0=D0=CD=BD=AB=
=B1=BB=B4=E6=B4=A2=CE=AA=B7=BD=B0=B8=B6=D4=CF=F3=A1=A3=B6=D4=CF=F3=C0=E0=D0=
=CD=D7=F1=B4=D3=D3=EB=C6=E4=CB=FB=B7=BD=B0=B8=B6=D4=CF=F3=CF=E0=CD=AC=B5=C4=
=B9=DC=C0=ED=B9=E6=D4=F2=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">025</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">Chapter 26, "<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/26.Native%20Datatypes.htm">Native=20
          Datatypes</A>"=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>=C1=ED=BC=FB=A3=BA</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">=B5=DA 26 =
=D5=C2=A3=AC=A1=B0<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/26.Native%20Datatypes.htm">=D4=AD=C9=FA=CA=FD=BE=DD=C0=E0=D0=
=CD</A>=A1=B1=20

          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> </LI></UL></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">026</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.2.1></A>Object Types</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.2.1></A>27.2.1 =
=B6=D4=CF=F3=C0=E0=D0=CD</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">027</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
types are=20
      abstractions of the real-world entities=A1=AAfor example, purchase =
orders=A1=AAthat=20
      application programs deal with. An object type is a schema object =
with=20
      three kinds of components:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">A <B>name</B>, which serves to =
identify=20
        the object type uniquely within that schema=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>Attributes</B>, which model =
the=20
        structure and state of the real-world entity. Attributes are =
built-in=20
        types or other user-defined types.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>Methods</B>, which are =
functions or=20
        procedures written in PL/SQL or Java and stored in the database, =
or=20
        written in a language such as C and stored externally. Methods =
implement=20
        operations the application can perform on the real-world entity. =

    </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B6=D4=CF=F3=C0=E0=D0=CD=CA=C7=D3=A6=D3=C3=B3=CC=D0=F2=B4=A6=
=C0=ED=B5=C4=D5=E6=CA=B5=CA=C0=BD=E7=CA=B5=CC=E5=B5=C4=B3=E9=CF=F3=A3=AC=C0=
=FD=C8=E7=B6=A9=B5=A5=A1=A3=B6=D4=CF=F3=C0=E0=D0=CD=BD=AB=B1=BB=B4=E6=B4=A2=
=CE=AA=B7=BD=B0=B8=B6=D4=CF=F3=A3=AC=D3=C9=D2=D4=CF=C2=C8=FD=B2=BF=B7=D6=D7=
=E9=B3=C9=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px"><B>=C3=FB=B3=C6</B>[name]=A3=AC=D4=DA=B7=BD=B0=B8=C4=DA=CE=A8=D2=BB=
=B1=EA=CA=B6=D2=BB=B8=F6=B6=D4=CF=F3=C0=E0=D0=CD=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px"><B>=CA=F4=D0=D4</B>[attribute]=A3=AC=B1=ED=CA=BE=D5=E6=CA=B5=CA=C0=BD=
=E7=CA=B5=CC=E5=B5=C4=BD=E1=B9=B9=D3=EB=D7=B4=CC=AC=A1=A3=CA=F4=D0=D4=BF=C9=
=D2=D4=20
        =CA=C7 Oracle =
=C4=DA=D6=C3=CA=FD=BE=DD=C0=E0=D0=CD=A3=AC=D2=B2=BF=C9=D2=D4=CA=C7=C6=E4=CB=
=FB=D3=C3=BB=A7=B6=A8=D2=E5=C0=E0=D0=CD=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px"><B>=B7=BD=B7=A8</B>[method]=A3=AC=D2=D4 PL/SQL =BB=F2 Java=20
        =
=B1=E0=D0=B4=B2=A2=B4=E6=B4=A2=D3=DA=CA=FD=BE=DD=BF=E2=D6=D0=A3=AC=BB=F2=D2=
=D4 C =
=D6=AE=C0=E0=B5=C4=D3=EF=D1=D4=B1=E0=D0=B4=B2=A2=B4=E6=B4=A2=D3=DA=CA=FD=BE=
=DD=BF=E2=CD=E2=B2=BF=B5=C4=B9=FD=B3=CC=BB=F2=BA=AF=CA=FD=A1=A3=B7=BD=B7=A8=
=BF=C9=B9=A9=D3=A6=D3=C3=B3=CC=D0=F2=B5=F7=D3=C3=D2=D4=B2=D9=D7=F7=B4=FA=B1=
=ED=D5=E6=CA=B5=CA=C0=BD=E7=CA=B5=CC=E5=B5=C4=B6=D4=CF=F3=A1=A3=20
    </LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">028</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
object type is a=20
      template. A structured data unit that matches the template is =
called an=20
      <B>object</B>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B6=D4=CF=F3=C0=E0=D0=CD=C8=E7=CD=AC=D2=BB=B8=F6=C4=A3=B0=E6=
=A1=A3=BB=F9=D3=DA=B4=CB=C4=A3=B0=E6=CB=F9=B6=A8=D2=E5=B5=C4=BD=E1=B9=B9=BB=
=AF=CA=FD=BE=DD=B5=A5=D4=AA=B1=BB=B3=C6=CE=AA<B>=B6=D4=CF=F3</B>[object]=A1=
=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">029</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">"<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.2.2.2"=
=20
          target=3D_self>Nested Tables</A>"=20
          <LI style=3D"MARGIN-BOTTOM: 10px">"<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.2.1.2.=
1"=20
          target=3D_self>Row Objects and Column Objects</A>"=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> for a complete purchase order example=20
    </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>=C1=ED=BC=FB=A3=BA</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">=A1=B0<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.2.2.2"=
=20
          target=3D_self>=C7=B6=CC=D7=B1=ED</A>=A1=B1=20
          <LI style=3D"MARGIN-BOTTOM: 10px">=A1=B0<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.2.1.2.=
1"=20
          =
target=3D_self>=D0=D0=B6=D4=CF=F3=BC=B0=C1=D0=B6=D4=CF=F3</A>=A1=B1=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> =
=B2=E9=BF=B4=CD=EA=D5=FB=B5=C4=B6=A9=B5=A5=CA=BE=C0=FD =
</LI></UL></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">030</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H3><A name=3De.27.2.1.1></A>Types of Methods</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.27.2.1.1></A>27.2.1.1 =
=B7=BD=B7=A8=B5=C4=C0=E0=D0=CD</H3></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">031</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Methods of an object=20
      type model the behavior of objects. The methods of an object type =
broadly=20
      fall into these categories:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">A <B>Member</B> method is a =
function or=20
        a procedure that always has an implicit <FONT =
color=3D#0000ff>SELF</FONT>=20
        parameter as its first parameter, whose type is the containing =
object=20
        type.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A <B>Static</B> method is a =
function or=20
        a procedure that does not have an implicit <FONT=20
        color=3D#0000ff>SELF</FONT> parameter. Such methods can be =
invoked by=20
        qualifying the method with the type name, as in <FONT=20
        color=3D#0000ff>TYPE_NAME.METHOD</FONT>. Static methods are =
useful for=20
        specifying user-defined constructors or cast methods.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>Comparison</B> methods are =
used for=20
        comparing instances of objects. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B7=BD=B7=A8=D3=C3=D3=DA=B6=A8=
=D2=E5=B6=D4=CF=F3=B5=C4=D0=D0=CE=AA=A1=A3=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B7=
=BD=B7=A8=BF=C9=D2=D4=B1=BB=B7=D6=CE=AA=D2=D4=CF=C2=BC=B8=C0=E0=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px"><B>=B3=C9=D4=B1</B>=B7=BD=B7=A8[member =
method]=BF=C9=D2=D4=CA=C7=BA=AF=CA=FD=BB=F2=B9=FD=B3=CC=A3=AC=C7=D2=BE=DF=
=D3=D0=C3=FB=CE=AA=20
        <FONT color=3D#0000ff>SELF</FONT> =
=B5=C4=D2=FE=CA=BD=B2=CE=CA=FD=A3=AC=B4=CB=B2=CE=CA=FD=B5=C4=C0=E0=D0=CD=CE=
=AA=B7=BD=B7=A8=CB=F9=D4=DA=B5=C4=B6=D4=CF=F3=C0=E0=D0=CD=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px"><B>=BE=B2=CC=AC</B>=B7=BD=B7=A8[static=20
        =
method]=CD=AC=D1=F9=BF=C9=D2=D4=CA=C7=BA=AF=CA=FD=BB=F2=B9=FD=B3=CC=A3=AC=
=B5=AB=B2=BB=B0=FC=BA=AC <FONT color=3D#0000ff>SELF</FONT>=20
        =
=D2=FE=CA=BD=B2=CE=CA=FD=A1=A3=D3=C3=BB=A7=BF=C9=D2=D4=D6=B8=B6=A8=B6=D4=CF=
=F3=C3=FB=BC=B0=B7=BD=B7=A8=C3=FB=C0=B4=B5=F7=D3=C3=B4=CB=C0=E0=B7=BD=B7=A8=
=A3=AC=C0=FD=C8=E7 <FONT=20
        =
color=3D#0000ff>TYPE_NAME.METHOD</FONT>=A1=A3=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=
=D3=C3=BE=B2=CC=AC=B7=BD=B7=A8=CA=B5=CF=D6=D3=C3=BB=A7=B6=A8=D2=E5=B5=C4=B9=
=B9=D4=EC=CC=E5[constructor]=BB=F2=CA=FD=BE=DD=D7=AA=BB=BB=B7=BD=B7=A8=A1=
=A3=20

        <LI style=3D"MARGIN-BOTTOM: =
10px"><B>=B1=C8=BD=CF</B>=B7=BD=B7=A8[comparison method]=20
        =D3=C3=D3=DA=B1=C8=BD=CF=B6=D4=CF=F3=B5=C4=CA=B5=C0=FD=A1=A3 =
</LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">032</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Oracle =
supports the=20
      choice of implementing type methods in PL/SQL, Java, and =
C.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle =
=D6=A7=B3=D6=D2=D4 PL/SQL=A3=ACJava=A3=AC=BC=B0 C=20
      =
=CA=B5=CF=D6=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B7=BD=B7=A8=A1=A3<BR>=A1=A1</T=
D></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">033</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Every object type also has one =

      implicitly defined method that is not tied to specific objects, =
the object=20
      type's constructor method.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=C3=BF=B8=F6=B6=D4=CF=F3=C0=E0=D0=CD=B6=BC=BE=DF=D3=D0=D2=BB=B8=F6=
=D2=FE=CA=BD=B6=A8=D2=E5=B5=C4=B7=BD=B7=A8=A3=AC=BC=B4=B6=D4=CF=F3=C0=E0=D0=
=CD=B5=C4=B9=B9=D4=EC=B7=BD=B7=A8=A3=AC=B4=CB=B7=BD=B7=A8=B2=BB=D3=EB=BE=DF=
=CC=E5=B6=D4=CF=F3=CF=E0=B9=D8=C1=AA=A1=A3</SPAN><BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">034</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.1.1></A>Object Type Constructor =
Methods</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.27.2.1.1.1></A>27.2.1.1.1 =
=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B9=B9=D4=EC=B7=BD=B7=A8</H4></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">035</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Every =
object type=20
      has a system-defined <B>constructor method</B>; that is, a method =
that=20
      makes a new object according to the object type's specification. =
The name=20
      of the constructor method is the name of the object type. Its =
parameters=20
      have the names and types of the object type's attributes. The =
constructor=20
      method is a function. It returns the new object as its value. You =
can also=20
      define your own constructor functions to use in place of the =
constructor=20
      functions that the system implicitly defines for every object=20
type.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=C3=BF=B8=F6=B6=D4=CF=F3=C0=E0=D0=CD=B6=BC=BE=DF=D3=D0=D2=BB=
=B8=F6=CF=B5=CD=B3=B6=A8=D2=E5=B5=C4<B>=B9=B9=D4=EC=B7=BD=B7=A8</B>[const=
ructor=20
      =
method]=A1=A3=B9=B9=D4=EC=B7=BD=B7=A8=B5=C4=D7=F7=D3=C3=CA=C7=D2=C0=BE=DD=
=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B9=E6=B7=B6[specification]=B4=B4=BD=A8=B6=D4=
=CF=F3=CA=B5=C0=FD=A1=A3=B9=B9=D4=EC=B7=BD=B7=A8=B5=C4=C3=FB=B3=C6=D3=EB=CF=
=E0=D3=A6=B5=C4=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=C3=FB=B3=C6=CF=E0=CD=AC=A1=A3=
=B9=B9=D4=EC=B7=BD=B7=A8=B2=CE=CA=FD=B5=C4=C3=FB=B3=C6=BC=B0=CA=FD=BE=DD=C0=
=E0=D0=CD=D3=EB=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=CA=F4=D0=D4=CF=E0=CD=AC=A1=A3=
=B9=B9=D4=EC=B7=BD=B7=A8=CA=C7=D2=BB=B8=F6=BA=AF=CA=FD=A3=AC=B9=B9=D4=EC=B7=
=BD=B7=A8=B5=C4=B7=B5=BB=D8=D6=B5=CE=AA=C6=E4=B4=B4=BD=A8=B5=C4=D0=C2=B6=D4=
=CF=F3=CA=B5=C0=FD=A1=A3=D3=C3=BB=A7=D2=B2=BF=C9=D2=D4=CE=AA=B6=D4=CF=F3=C0=
=E0=D0=CD=B6=A8=D2=E5=B9=B9=D4=EC=BA=AF=CA=FD=A3=AC=D2=D4=CC=E6=B4=FA=CF=B5=
=CD=B3=D2=FE=CA=BD=B6=A8=D2=E5=B5=C4=B9=B9=D4=EC=BA=AF=CA=FD=A1=A3<BR>=A1=
=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">036</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational=20
      Features</A></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational=20
      Features</A></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">037</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.1.2></A>Comparison Methods</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.27.2.1.1.2></A>27.2.1.1.2 =
=B1=C8=BD=CF=B7=BD=B7=A8</H4></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">038</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Methods play a role=20
      in comparing objects. Oracle has facilities for comparing two data =
items=20
      of a given built-in type (for example, two numbers), and =
determining=20
      whether one is greater than, equal to, or less than the other. =
Oracle=20
      cannot, however, compare two items of an arbitrary user-defined =
type=20
      without further guidance from the definer. Oracle provides two =
ways to=20
      define an order relationship among objects of a given object type: =
map=20
      methods and order methods.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=BD=F8=D0=D0=B6=D4=CF=F3=B1=C8=BD=CF=CA=B1=D0=E8=D2=AA=CA=B9=
=D3=C3=B6=D4=CF=F3=CC=E1=B9=A9=B5=C4=B7=BD=B7=A8=A1=A3Oracle=20
      =
=CC=E1=B9=A9=C1=CB=C4=DA=D6=C3=CA=FD=BE=DD=C0=E0=D0=CD=A3=A8=C0=FD=C8=E7=C1=
=BD=B8=F6=CA=FD=D7=D6=A3=A9=B5=C4=B1=C8=BD=CF=B7=BD=B7=A8=A3=AC=C4=DC=B9=BB=
=BD=F8=D0=D0=B4=F3=D3=DA=A3=AC=D0=A1=D3=DA=A3=AC=BC=B0=B5=C8=D3=DA=B5=C4=B1=
=C8=BD=CF=A1=A3=B5=AB Oracle=20
      =
=CE=DE=B7=A8=B1=C8=BD=CF=D3=C3=BB=A7=B6=A8=D2=E5=B5=C4=CA=FD=BE=DD=C0=E0=D0=
=CD=A3=AC=B3=FD=B7=C7=B6=A8=D2=E5=D5=DF=CC=E1=B9=A9=C1=CB=CF=E0=D3=A6=B5=C4=
=B1=C8=BD=CF=B7=BD=B7=A8=A1=A3Oracle =
=CC=E1=B9=A9=C1=CB=C1=BD=D6=D6=B6=A8=D2=E5=B6=D4=CF=F3=BC=E4=CB=B3=D0=F2=B9=
=D8=CF=B5=B5=C4=B7=BD=B7=A8=A3=BA=D3=B3=C9=E4=B7=BD=B7=A8[map=20
      method]=BC=B0=C5=C5=D0=F2=B7=BD=B7=A8[order =
method]=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">039</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%"><B>Map</B> methods=20
      use Oracle's ability to compare built-in types. Suppose that you =
have=20
      defined an object type called <FONT =
color=3D#0000ff>rectangle</FONT>, with=20
      attributes <FONT color=3D#0000ff>height</FONT> and <FONT=20
      color=3D#0000ff>width</FONT>. You can define a map method <FONT=20
      color=3D#0000ff>area</FONT> that returns a number, namely the =
product of the=20
      rectangle's <FONT color=3D#0000ff>height</FONT> and <FONT=20
      color=3D#0000ff>width</FONT> attributes. Oracle can then compare =
two=20
      rectangles by comparing their areas.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%"><B>=D3=B3=C9=E4</B>=B7=BD=B7=A8=C0=FB=D3=C3=C1=CB Oracle=20
      =
=B1=C8=BD=CF=C4=DA=D6=C3=CA=FD=BE=DD=C0=E0=D0=CD=B5=C4=C4=DC=C1=A6=A1=A3=BC=
=D9=C9=E8=D3=C3=BB=A7=B6=A8=D2=E5=C1=CB=C3=FB=CE=AA <FONT =
color=3D#0000ff>rectangle</FONT>[=B3=A4=B7=BD=D0=CE]=B5=C4=B6=D4=CF=F3=C0=
=E0=D0=CD=A3=AC=B4=CB=C0=E0=D0=CD=B0=FC=BA=AC=20
      <FONT color=3D#0000ff>height</FONT>[=B8=DF]=BA=CD <FONT=20
      =
color=3D#0000ff>width</FONT>[=BF=ED]=C1=BD=B8=F6=CA=F4=D0=D4=A1=A3=D3=C3=BB=
=A7=BF=C9=D2=D4=B6=A8=D2=E5=D2=BB=B8=F6=D3=B3=C9=E4=B7=BD=B7=A8 <FONT=20
      =
color=3D#0000ff>area</FONT>[=C3=E6=BB=FD]=B7=B5=BB=D8=D2=BB=B8=F6=CA=FD=D6=
=B5=A3=AC=B1=ED=CA=BE <FONT=20
      color=3D#0000ff>rectangle</FONT> =C0=E0=D0=CD <FONT =
color=3D#0000ff>height</FONT> =CA=F4=D0=D4=D3=EB=20
      <FONT color=3D#0000ff>width</FONT> =
=CA=F4=D0=D4=B5=C4=BB=FD=A1=A3=D4=F2 Oracle=20
  =
=BF=C9=D2=D4=CD=A8=B9=FD=B1=C8=BD=CF=C3=E6=BB=FD=C0=B4=B1=C8=BD=CF=C1=BD=B8=
=F6=B3=A4=B7=BD=D0=CE=B6=D4=CF=F3=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">040</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%"><B>Order</B> methods=20
      are more general. An order method uses its own internal logic to =
compare=20
      two objects of a given object type. It returns a value that =
encodes the=20
      order relationship. For example, it could return -1 if the first =
is=20
      smaller, 0 if they are equal, and 1 if the first is =
larger.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%"><B>=C5=C5=D0=F2</B>=B7=BD=B7=A8=B8=FC=CE=AA=B3=A3=BC=FB=A1=A3=
=C5=C5=D0=F2=B7=BD=B7=A8=CA=B9=D3=C3=C6=E4=C4=DA=B2=BF=C2=DF=BC=AD=B1=C8=BD=
=CF=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=C1=BD=B8=F6=CA=B5=C0=FD=A1=A3=C6=E4=B7=B5=
=BB=D8=D6=B5=C4=DC=B9=BB=B1=ED=C3=F7=CB=B3=D0=F2=B9=D8=CF=B5=A1=A3=C0=FD=C8=
=E7=A3=AC=C8=E7=B9=FB=B5=DA=D2=BB=B8=F6=D6=B5=BD=CF=D0=A1=D4=F2=B7=B5=BB=D8=
=20
      -1=A3=AC=C8=E7=B9=FB=C1=BD=D6=B5=CF=E0=B5=C8=D4=F2=B7=B5=BB=D8 =
0=A3=AC=C8=E7=B9=FB=B5=DA=D2=BB=B8=F6=D6=B5=BD=CF=B4=F3=D4=F2=B7=B5=BB=D8=
 1=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">041</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Suppose that you=20
      have defined an object type called <FONT =
color=3D#0000ff>address</FONT>,=20
      with attributes <FONT color=3D#0000ff>street</FONT>, <FONT=20
      color=3D#0000ff>city</FONT>, <FONT color=3D#0000ff>state</FONT>, =
and <FONT=20
      color=3D#0000ff>zip</FONT>. <B>Greater than</B> and <B>less =
than</B> may=20
      have no meaning for addresses in your application, but you may =
need to=20
      perform complex computations to determine when two addresses are=20
      equal.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=BC=D9=C9=E8=D3=C3=BB=A7=B6=A8=D2=E5=C1=CB=C3=FB=CE=AA =
<FONT=20
      =
color=3D#0000ff>address</FONT>[=B5=D8=D6=B7]=B5=C4=B6=D4=CF=F3=C0=E0=D0=CD=
=A3=AC=B2=A2=D4=DA=B4=CB=C0=E0=D0=CD=D6=D0=B6=A8=D2=E5=C1=CB <FONT=20
      color=3D#0000ff>street</FONT>[=BD=D6=B5=C0]=A3=AC<FONT =
color=3D#0000ff>city</FONT>[=B3=C7=CA=D0]=A3=AC<FONT=20
      color=3D#0000ff>state</FONT>[=D6=DD]=A3=AC=BC=B0 <FONT=20
      =
color=3D#0000ff>zip</FONT>[=D3=CA=D5=FE=B1=E0=C2=EB]=CB=C4=B8=F6=CA=F4=D0=
=D4=A1=A3=D4=DA=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=A3=AC=B5=D8=D6=B7=BC=E4=B5=C4=
<B>=B4=F3=D3=DA</B>=BC=B0<B>=D0=A1=D3=DA</B>=B9=D8=CF=B5=CA=C7=C3=BB=D3=D0=
=D2=E2=D2=E5=B5=C4=A3=AC=B5=AB=D3=C3=BB=A7=BF=C9=C4=DC=D0=E8=D2=AA=D6=B4=D0=
=D0=B8=B4=D4=D3=B5=C4=D4=CB=CB=E3=C0=B4=BE=F6=B6=A8=C1=BD=B8=F6=B5=D8=D6=B7=
=CA=C7=B7=F1=CF=E0=CD=AC=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">042</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">In =
defining an=20
      object type, you can specify either a map method or an order =
method for=20
      it, but not both. If an object type has no comparison method, =
Oracle=20
      cannot determine a greater than or less than relationship between =
two=20
      objects of that type. It can, however, attempt to determine =
whether two=20
      objects of the type are equal.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D4=DA=B6=A8=D2=E5=B6=D4=CF=F3=C0=E0=D0=CD=CA=B1=A3=AC=D3=C3=
=BB=A7=BF=C9=D2=D4=B6=A8=D2=E5=D3=B3=C9=E4=B7=BD=B7=A8=BB=F2=C5=C5=D0=F2=B7=
=BD=B7=A8=A3=AC=B5=AB=B2=BB=C4=DC=CD=AC=CA=B1=B6=A8=D2=E5=C1=BD=D6=D6=B7=BD=
=B7=A8=A1=A3=C8=E7=B9=FB=D2=BB=B8=F6=B6=D4=CF=F3=C0=E0=D0=CD=D6=D0=C3=BB=D3=
=D0=B6=A8=D2=E5=B1=C8=BD=CF=B7=BD=B7=A8=A3=ACOracle=20
      =
=BD=AB=CE=DE=B7=A8=C8=B7=B6=A8=B4=CB=C0=E0=D0=CD=B5=C4=C1=BD=B8=F6=B6=D4=CF=
=F3=BC=E4=B5=C4=CB=B3=D0=F2=B9=D8=CF=B5=A3=A8=B4=F3=D3=DA=BB=F2=D0=A1=D3=DA=
=A3=A9=A1=A3=B5=AB Oracle =
=C4=DC=B9=BB=B3=A2=CA=D4=C8=B7=B6=A8=B4=CB=C0=E0=D0=CD=B5=C4=C1=BD=B8=F6=B6=
=D4=CF=F3=CA=C7=B7=F1=CF=E0=B5=C8=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">043</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Oracle =
compares two=20
      objects of a type that lacks a comparison method by comparing=20
      corresponding attributes:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">If all the attributes are =
non-null and=20
        equal, Oracle reports that the objects are equal.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">If there is an attribute for =
which the=20
        two objects have unequal non-null values, Oracle reports them =
unequal.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Otherwise, Oracle reports that =
the=20
        comparison is not available (null). </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B5=B1=B6=D4=CF=F3=C0=E0=D0=CD=D6=D0=C3=BB=D3=D0=B6=A8=D2=E5=
=B1=C8=BD=CF=B7=BD=B7=A8=CA=B1=A3=ACOracle =
=BD=AB=B1=C8=BD=CF=C1=BD=B8=F6=B6=D4=CF=F3=B5=C4=CA=F4=D0=D4=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C8=E7=B9=FB=CB=F9=D3=D0=CA=F4=D0=D4=BE=F9=B7=C7=BF=D5=C7=D2=CF=E0=B5=
=C8=A3=AC=D4=F2 Oracle =
=C8=CF=CE=AA=D5=E2=C1=BD=B8=F6=B6=D4=CF=F3=CA=B5=C0=FD=CF=E0=B5=C8=A1=A3 =

        <LI style=3D"MARGIN-BOTTOM: =
10px">=C8=E7=B9=FB=C1=BD=B8=F6=B6=D4=CF=F3=CA=B5=C0=FD=D6=D0=D3=D0=B2=BB=B5=
=C8=C7=D2=B7=C7=BF=D5=B5=C4=CA=F4=D0=D4=D6=B5=A3=AC=D4=F2 Oracle =
=C8=CF=CE=AA=D5=E2=C1=BD=B8=F6=CA=B5=C0=FD=B2=BB=B5=C8=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=B7=F1=D4=F2 Oracle =
=C8=CF=CE=AA=C1=BD=B8=F6=B6=D4=CF=F3=CA=B5=C0=FD=B2=BB=BF=C9=B1=C8=BD=CF=A3=
=A8=BC=B0=B1=C8=BD=CF=BD=E1=B9=FB=CE=AA=BF=D5=A3=A9=A1=A3=20
    </LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">044</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational =
Features</A>=20
        for examples of how to specify and use comparison =
methods</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational =
Features</A>=20
        =
=B2=E9=BF=B4=B6=A8=D2=E5=BC=B0=CA=B9=D3=C3=B1=C8=BD=CF=B7=BD=B7=A8=B5=C4=CA=
=BE=C0=FD</BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">045</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H3><A name=3De.27.2.1.2></A>Object Tables</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.27.2.1.2></A>27.2.1.2 =
=B6=D4=CF=F3=B1=ED</H3></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">046</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
<B>object=20
      table</B> is a special kind of table that holds objects and =
provides a=20
      relational view of the attributes of those objects.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%"><B>=B6=D4=CF=F3=B1=ED</B>[object=20
      =
table]=CA=C7=D3=C3=D3=DA=B4=E6=B4=A2=B6=D4=CF=F3=B5=C4=CC=D8=CA=E2=CA=FD=BE=
=DD=B1=ED=A3=AC=C6=E4=D6=D0=D2=D4=B9=D8=CF=B5=D0=CD=B5=C4=D0=CE=CA=BD=B4=E6=
=B4=A2=B6=D4=CF=F3=B5=C4=B8=F7=B8=F6=CA=F4=D0=D4=A1=A3<BR>=A1=A1</TD></TR=
>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">047</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Oracle lets you view this =
table in two=20
      ways:</SPAN>
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">A single column table in which =
each=20
        entry is an <FONT color=3D#0000ff>external_person</FONT> object. =

        <LI style=3D"MARGIN-BOTTOM: 10px">A multicolumn table in which =
each of the=20
        attributes of the object type <FONT=20
        color=3D#0000ff>external_person</FONT>, namely <FONT=20
        color=3D#0000ff>name</FONT> and <FONT =
color=3D#0000ff>phone</FONT>, occupies=20
        a column </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Oracle =
=C4=DC=B9=BB=D2=D4=C1=BD=D6=D6=B7=BD=CA=BD=B4=E6=B4=A2=B6=D4=CF=F3=B1=ED=A3=
=BA=D2=D4 </SPAN><FONT=20
      color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">external_person</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
=B6=D4=CF=F3=C0=E0=D0=CD=CE=AA=C0=FD=A3=BA</SPAN>
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B6=D4=CF=F3=B1=ED=D6=BB=D3=D0=D2=BB=C1=D0=A3=AC=B1=ED=D6=D0=C3=BF=D0=
=D0=B4=FA=B1=ED=D2=BB=B8=F6 <FONT=20
        color=3D#0000ff>external_person</FONT> =
=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=CA=B5=C0=FD=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B6=D4=CF=F3=B1=ED=B0=FC=BA=AC=B6=E0=C1=D0=A3=AC=C3=BF=C1=D0=B4=E6=B4=
=A2&nbsp; <FONT=20
        color=3D#0000ff>external_person</FONT> =
=B6=D4=CF=F3=B5=C4=D2=BB=B8=F6=CA=F4=D0=D4=A3=AC=C0=FD=C8=E7 <FONT=20
        color=3D#0000ff>name</FONT> =BC=B0 <FONT =
color=3D#0000ff>phone</FONT>=20
        =
=CA=F4=D0=D4=B7=D6=B1=F0=B4=E6=B4=A2=D4=DA=CD=AC=C3=FB=B5=C4=C1=D0=D6=D0=A1=
=A3 </LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">048</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.2.1></A>Row Objects and Column =
Objects</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.27.2.1.2.1></A>27.2.1.2.1 =
=D0=D0=B6=D4=CF=F3=BC=B0=C1=D0=B6=D4=CF=F3</H4></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">049</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Objects that appear=20
      in object tables are called <B>row objects</B>. Objects that =
appear in=20
      table columns or as attributes of other objects are called =
<B>column=20
      objects</B>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=E6=B4=A2=D3=DA=B6=D4=CF=F3=B1=ED=D6=D0=B5=C4=B6=D4=CF=F3=
=B1=BB=B3=C6=CE=AA<B>=D0=D0=B6=D4=CF=F3</B>[row=20
      =
object]=A1=A3=B4=E6=B4=A2=D3=DA=B1=ED=C1=D0=D6=D0=A3=AC=BB=F2=D7=F7=CE=AA=
=C6=E4=CB=FB=B6=D4=CF=F3=CA=F4=D0=D4=B5=C4=B6=D4=CF=F3=B1=BB=B3=C6=CE=AA<=
B>=C1=D0=B6=D4=CF=F3</B>[column object]=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">050</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H3><A name=3De.27.2.1.3></A>Object Identifiers</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.27.2.1.3></A>27.2.1.3 =
=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB</H3></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">051</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Every =
row object in=20
      an object table has an associated logical object identifier. =
Oracle=20
      assigns a unique system-generated identifier of length 16 bytes as =
the=20
      object identifier for each row object by default.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=B1=ED[object =
table]=D6=D0=B5=C4=C3=BF=B8=F6=D0=D0=B6=D4=CF=F3[row=20
      =
object]=B6=BC=D3=D0=D2=BB=B8=F6=D3=EB=D6=AE=B6=D4=D3=A6=B5=C4=C2=DF=BC=AD=
=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB[logical object identifier]=A1=A3Oracle=20
      =
=C4=AC=C8=CF=CE=AA=C3=BF=B8=F6=D0=D0=B6=D4=CF=F3=B7=D6=C5=E4=D2=BB=B8=F6=CF=
=B5=CD=B3=C9=FA=B3=C9=B5=C4=CE=A8=D2=BB=B5=C4=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=
=A3=AC=B3=A4=B6=C8=CE=AA 16 =D7=D6=BD=DA=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">052</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">The =
object=20
      identifier column of an object table is a hidden column. Although =
the=20
      object identifier value in itself is not very meaningful to an=20
      object-relational application, Oracle uses this value to construct =
object=20
      references to the row objects. Applications need to be concerned =
with only=20
      object references that are used for fetching and navigating=20
    objects.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=B1=ED=C4=DA=B5=C4=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=
=C1=D0[object identifier=20
      =
column]=CA=C7=D2=BB=B8=F6=D2=FE=B2=D8=C1=D0=A1=A3=B6=D4=CF=F3=B1=EA=CA=B6=
=B7=FB=D6=B5=B1=BE=C9=ED=B6=D4=D3=DA=B6=D4=CF=F3-=B9=D8=CF=B5=D0=CD=D3=A6=
=D3=C3=B3=CC=D0=F2=C3=BB=D3=D0=D2=E2=D2=E5=A3=ACOracle =
=CA=B9=D3=C3=B4=CB=D6=B5=B9=B9=BD=A8=D0=D0=B6=D4=CF=F3=B5=C4=B6=D4=CF=F3=D2=
=FD=D3=C3[object=20
      =
reference]=A1=A3=B6=F8=D3=A6=D3=C3=B3=CC=D0=F2=BF=C9=D2=D4=CD=A8=B9=FD=B6=
=D4=CF=F3=D2=FD=D3=C3=B1=E9=C0=FA=BC=B0=BB=F1=C8=A1=B6=D4=CF=F3=A1=A3<BR>=
=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">053</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">The =
purpose of the=20
      object identifier for a row object is to uniquely identify it in =
an object=20
      table. To do this Oracle implicitly creates and maintains an index =
on the=20
      object identifier column of an object table. The system-generated =
unique=20
      identifier has many advantages, among which are the unambiguous=20
      identification of objects in a distributed and replicated=20
    environment.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=BF=C9=D3=C3=D3=DA=CE=A8=D2=BB=
=B5=D8=C8=B7=B6=A8=B6=D4=CF=F3=B1=ED=D6=D0=B5=C4=D0=D0=B6=D4=CF=F3=A1=A3O=
racle=20
      =
=C4=DC=B9=BB=D2=FE=CA=BD=B5=D8=B4=B4=BD=A8=B2=A2=CE=AC=BB=A4=B6=D4=CF=F3=B1=
=ED=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=C1=D0=C9=CF=B5=C4=CB=F7=D2=FD=A1=A3=CA=B9=
=D3=C3=CF=B5=CD=B3=C9=FA=B3=C9=B5=C4=CE=A8=D2=BB=B1=EA=CA=B6=B7=FB=D3=D0=BA=
=DC=B6=E0=BA=C3=B4=A6=A3=AC=C0=FD=C8=E7=D4=DA=B7=D6=B2=BC=CA=BD=CF=B5=CD=B3=
[distributed=20
      environment]=BB=F2=B8=B4=D6=C6=CF=B5=CD=B3[replicated =
environment]=D6=D0=D2=B2=C4=DC=B9=BB=CD=A8=B9=FD=B6=D4=CF=F3=B1=EA=CA=B6=B7=
=FB=CE=A8=D2=BB=B5=D8=C8=B7=B6=A8=D2=BB=B8=F6=B6=D4=CF=F3=A1=A3<BR>=A1=A1=
</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">054</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.3.1></A>Primary-Key Based Object =
Identifiers</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.27.2.1.3.1></A>27.2.1.3.1 =
=BB=F9=D3=DA=D6=F7=BC=FC=B5=C4=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB</H4></TD></T=
R>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">055</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">For =
applications=20
      that do not require the functionality provided by globally unique=20
      system-generated identifiers, storing 16 extra bytes with each =
object and=20
      maintaining an index on it may not be efficient. Oracle allows the =
option=20
      of specifying the primary key value of a row object as the object=20
      identifier for the row object.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=D3=DA=B2=BB=D0=E8=D2=AA=D3=C9=CF=B5=CD=B3=C9=FA=B3=C9=
=C8=AB=BE=D6=CE=A8=D2=BB=B1=EA=CA=B6=B7=FB=B5=C4=D3=A6=D3=C3=B3=CC=D0=F2=A3=
=AC=CA=B9=D3=C3=B3=A4=B6=C8 16=20
      =
=D7=D6=BD=DA=B5=C4=B1=EA=CA=B6=B7=FB=B2=A2=CE=AC=BB=A4=CF=E0=B9=D8=CB=F7=D2=
=FD=BD=AB=BD=B5=B5=CD=CF=B5=CD=B3=B5=C4=D0=A7=C2=CA=A1=A3Oracle =
=D4=CA=D0=ED=D3=C3=BB=A7=CA=B9=D3=C3=D0=D0=B6=D4=CF=F3=B5=C4=D6=F7=BC=FC=D6=
=B5=D7=F7=CE=AA=D0=D0=B6=D4=CF=F3=B5=C4=B1=EA=CA=B6=B7=FB=A1=A3<BR>=A1=A1=
</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">056</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Primary-key based=20
      identifiers also have the advantage of enabling a more efficient =
and=20
      easier loading of the object table. By contrast, system-generated =
object=20
      identifiers need to be remapped using some user-specified keys, =
especially=20
      when references to them are also stored =
persistently.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B2=C9=D3=C3=BB=F9=D3=DA=D6=F7=BC=FC=B5=C4=B1=EA=CA=B6=B7=FB=
=D3=D0=C0=FB=D3=DA=B8=FC=B8=DF=D0=A7=C7=D2=B8=FC=BC=F2=B1=E3=B5=C4=BC=D3=D4=
=D8=B6=D4=CF=F3=B1=ED=CA=FD=BE=DD=A1=A3=D3=EB=D6=AE=CF=E0=B7=B4=A3=AC=B2=C9=
=D3=C3=CF=B5=CD=B3=C9=FA=B3=C9=B5=C4=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=CA=B1=A3=
=AC=D0=E8=D2=AA=BD=AB=D3=C3=BB=A7=B6=A8=D2=E5=B5=C4=BC=FC=D3=B3=C9=E4=CE=AA=
=B1=EA=CA=B6=B7=FB=A3=AC=D3=C8=C6=E4=CA=C7=B5=B1=B6=D4=CF=F3=D2=FD=D3=C3=D2=
=B2=D0=E8=D2=AA=B1=BB=B3=D6=BE=C3=B4=E6=B4=A2=CA=B1=A1=A3<BR>=A1=A1</TD><=
/TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">057</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H3><A name=3De.27.2.1.4></A>Object Views Description</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.27.2.1.4></A>27.2.1.4 =
=B6=D4=CF=F3=CA=D3=CD=BC=C3=E8=CA=F6</H3></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">058</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
object view is a=20
      virtual object table. Its rows are row objects. Oracle =
materializes object=20
      identifiers, which it does not store persistently, from primary =
keys in=20
      the underlying table or view.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=CF=F3=CA=D3=CD=BC[object =
view]=CA=C7=D2=BB=B8=F6=D0=E9=C4=E2=B5=C4=B6=D4=CF=F3=B1=ED[object=20
      =
table]=A1=A3=B6=D4=CF=F3=CA=D3=CD=BC=D6=D0=B5=C4=D0=D0=CE=AA=D0=D0=B6=D4=CF=
=F3=A1=A3Oracle =
=C4=DC=B9=BB=BD=AB=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=B5=D7=B2=E3=B1=ED=BB=F2=CA=
=D3=CD=BC=B5=C4=D6=F7=BC=FC=CE=EF=BB=AF[materializes]=CE=AA=B6=D4=CF=F3=B1=
=EA=CA=B6=B7=FB[object=20
      =
identifier]=A3=A8=B6=D4=CF=F3=CA=D3=CD=BC=D6=D0=B2=A2=B2=BB=B3=D6=BE=C3=B4=
=E6=B4=A2=D5=E2=D0=A9=D6=F7=BC=FC=CA=FD=BE=DD=A3=A9=A1=A3<BR>=A1=A1</TD><=
/TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">059</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR>"<A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.6"=20
        target=3D_self>Introduction to Object =
Views</A>"</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR>=A1=B0<A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.6"=20
        =
target=3D_self>=B6=D4=CF=F3=CA=D3=CD=BC=BC=F2=BD=E9</A>=A1=B1</BLOCKQUOTE=
></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">060</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H3><A name=3De.27.2.1.5></A>REFs</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.27.2.1.5></A>27.2.1.5 REF</H3></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">061</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">In the =
relational=20
      model, foreign keys express many-to-one relationships. Oracle =
object types=20
      provide a more efficient means of expressing many-to-one =
relationships=20
      when the "one" side of the relationship is a row =
object.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D4=DA=B9=D8=CF=B5=D0=CD=C4=A3=D0=CD[relational =
model]=D6=D0=A3=AC=CD=E2=BC=FC[foreign=20
      =
key]=B1=ED=CA=BE=B5=C4=CA=C7=B6=E0=B6=D4=D2=BB=B9=D8=CF=B5[many-to-one =
relationship]=A1=A3Oracle =B6=D4=CF=F3=C0=E0=D0=CD[object=20
      =
type]=CC=E1=B9=A9=C1=CB=D2=BB=D6=D6=B8=FC=CE=AA=B8=DF=D0=A7=B5=C4=B7=BD=CA=
=BD=C0=B4=B1=ED=CA=BE=B6=E0=B6=D4=D2=BB=B9=D8=CF=B5=A3=AC=D4=DA=B4=CB=B6=E0=
=B6=D4=D2=BB=B9=D8=CF=B5=D6=D0=A1=B0=D2=BB=A1=B1=B5=C4=D2=BB=B7=BD=CE=AA=D2=
=BB=B8=F6=D0=D0=B6=D4=CF=F3=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">062</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Oracle =
provides a=20
      built-in datatype called <FONT color=3D#0000ff>REF</FONT> to =
encapsulate=20
      references to row objects of a specified object type. From a =
modeling=20
      perspective, <FONT color=3D#0000ff>REF</FONT>s provide the ability =
to=20
      capture an association between two row objects. Oracle uses object =

      identifiers to construct such <FONT =
color=3D#0000ff>REF</FONT>s.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle =
=CC=E1=B9=A9=C1=CB=D2=BB=D6=D6=B3=C6=CE=AA <FONT=20
      color=3D#0000ff>REF</FONT> =
=B5=C4=C4=DA=D6=C3=CA=FD=BE=DD=C0=E0=D0=CD=A3=AC=D3=C3=D3=DA=B7=E2=D7=B0=B6=
=D4=CC=D8=B6=A8=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=D0=D0=B6=D4=CF=F3[row=20
      =
object]=B5=C4=D2=FD=D3=C3[reference]=A1=A3=B4=D3=CA=FD=BE=DD=BD=A8=C4=A3=B5=
=C4=BD=C7=B6=C8=BF=B4=A3=AC<FONT color=3D#0000ff>REF</FONT>=20
      =
=CA=FD=BE=DD=C4=DC=B9=BB=B1=ED=CF=D6=C1=BD=B8=F6=D0=D0=B6=D4=CF=F3=BC=E4=B5=
=C4=B9=D8=CF=B5=A1=A3Oracle =
=CA=B9=D3=C3=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=C0=B4=B9=B9=BD=A8 <FONT =
color=3D#0000ff>REF</FONT>=20
    =CA=FD=BE=DD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">063</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can use a <FONT=20
      color=3D#0000ff>REF</FONT> to examine or update the object it =
refers to. You=20
      can also use a <FONT color=3D#0000ff>REF</FONT> to obtain a copy =
of the=20
      object it refers to. The only changes you can make to a <FONT=20
      color=3D#0000ff>REF</FONT> are to replace its contents with a =
reference to a=20
      different object of the same object type or to assign it a null=20
    value.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3 <FONT=20
      color=3D#0000ff>REF</FONT> =
=C0=B4=B2=E9=D1=AF=BB=F2=B8=FC=D0=C2=C6=E4=D2=FD=D3=C3=B5=C4=B6=D4=CF=F3=A1=
=A3=D3=C3=BB=A7=BB=B9=BF=C9=D2=D4=CD=A8=B9=FD <FONT=20
      color=3D#0000ff>REF</FONT> =
=C0=B4=BB=F1=B5=C3=C6=E4=D2=FD=D3=C3=B6=D4=CF=F3=B5=C4=B8=B1=B1=BE=A1=A3=D3=
=C3=BB=A7=D6=BB=C4=DC=D2=D4=C1=BD=D6=D6=B7=BD=CA=BD=D0=DE=B8=C4 <FONT=20
      color=3D#0000ff>REF</FONT> =
=CA=FD=BE=DD=A3=AC=C6=E4=D2=BB=CA=C7=BD=AB <FONT =
color=3D#0000ff>REF</FONT>=20
      =
=CA=FD=BE=DD=B8=FC=D0=C2=CE=AA=CF=E0=CD=AC=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=C6=
=E4=CB=FB=B6=D4=CF=F3=B5=C4=D2=FD=D3=C3=A3=AC=C6=E4=B6=FE=CA=C7=B8=B3=D3=E8=
 <FONT color=3D#0000ff>REF</FONT> =BF=D5=D6=B5=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">064</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.5.1></A>Scoped REFs</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.27.2.1.5.1></A>27.2.1.5.1 =CF=DE=B6=A8 =
REF</H4></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">065</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">In =
declaring a=20
      column type, collection element, or object type attribute to be a =
<FONT=20
      color=3D#0000ff>REF</FONT>, you can constrain it to contain only =
references=20
      to a specified object table. Such a <FONT =
color=3D#0000ff>REF</FONT> is=20
      called a <B>scoped</B> <FONT color=3D#0000ff>REF</FONT>. Scoped =
<FONT=20
      color=3D#0000ff>REF</FONT>s require less storage space and allow =
more=20
      efficient access than unscoped <FONT =
color=3D#0000ff>REF</FONT>s.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=D4=DA=B6=A8=D2=E5=CA=FD=BE=DD=C0=E0=D0=CD=CE=AA=
 <FONT=20
      color=3D#0000ff>REF</FONT> =
=B5=C4=CA=FD=BE=DD=C1=D0=A3=AC=BC=AF=BA=CF=D4=AA=CB=D8[collection =
element]=A3=AC=BB=F2=B6=D4=CF=F3=C0=E0=D0=CD=CA=F4=D0=D4=CA=B1=A3=AC=BF=C9=
=D2=D4=CF=DE=B6=A8 <FONT=20
      color=3D#0000ff>REF</FONT> =
=D6=BB=C4=DC=B0=FC=BA=AC=B6=D4=CC=D8=B6=A8=B6=D4=CF=F3=B1=ED=B5=C4=D2=FD=D3=
=C3=A1=A3=D5=E2=D6=D6 <FONT color=3D#0000ff>REF</FONT>=20
      =B1=BB=B3=C6=CE=AA<B>=CF=DE=B6=A8</B> <FONT =
color=3D#0000ff>REF</FONT>[scoped <FONT=20
      color=3D#0000ff>REF</FONT>]=A1=A3=D3=EB=B7=C7=CF=DE=B6=A8=B5=C4 =
<FONT color=3D#0000ff>REF</FONT> =CF=E0=B1=C8=A3=AC=CF=DE=B6=A8 <FONT=20
      color=3D#0000ff>REF</FONT> =
=CB=F9=D5=BC=D3=C3=B5=C4=B4=E6=B4=A2=BF=D5=BC=E4=B8=FC=C9=D9=A3=AC=C7=D2=B4=
=E6=C8=A1=D0=A7=C2=CA=B8=FC=B8=DF=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">066</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.5.2></A>Dangling REFs</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.27.2.1.5.2></A>27.2.1.5.2 =CA=A7=D0=A7 =
REF</H4></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">067</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">It is =
possible for=20
      the object identified by a <FONT color=3D#0000ff>REF</FONT> to =
become=20
      unavailable through either deletion of the object or a change in=20
      privileges. Such a <FONT color=3D#0000ff>REF</FONT> is called=20
      <B>dangling</B>. Oracle SQL provides a predicate (called <FONT=20
      color=3D#0000ff>IS DANGLING</FONT>) to allow testing <FONT=20
      color=3D#0000ff>REF</FONT>s for this condition.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">=B1=BB <FONT =
color=3D#0000ff>REF</FONT>=20
      =
=CB=F9=D2=FD=D3=C3=B5=C4=B6=D4=CF=F3=BF=C9=C4=DC=BB=E1=B1=BB=C9=BE=B3=FD=BB=
=F2=B7=A2=C9=FA=C8=A8=CF=DE=B1=E4=BB=AF=A3=AC=B4=D3=B6=F8=B5=BC=D6=C2 =
<FONT color=3D#0000ff>REF</FONT> =B2=BB=BF=C9=D3=C3=A1=A3=B4=CB=CA=B1 =
<FONT=20
      color=3D#0000ff>REF</FONT> =
=B1=BB=B3=C6=CE=AA<B>=CA=A7=D0=A7=B5=C4</B>[dangling]=A1=A3Oracle SQL =
=D6=D0=CC=E1=B9=A9=C1=CB=CE=BD=B4=CA=A3=A8<FONT=20
      color=3D#0000ff>IS DANGLING</FONT>=A3=A9=C0=B4=BC=EC=D1=E9 <FONT =
color=3D#0000ff>REF</FONT>=20
      =
=CA=C7=B7=F1=B4=A6=D3=DA=B4=CB=D6=D6=D7=B4=CC=AC=A1=A3<BR>=A1=A1</TD></TR=
>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">068</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.5.3></A><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Dereference =
REFs</SPAN></H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><SPAN style=3D"BACKGROUND-COLOR: #ffff00"><A=20
      name=3Dc.27.2.1.5.3></A>27.2.1.5.3 =B7=C7=D2=FD=D3=C3=BB=AF =
REF</SPAN></H4></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">069</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Accessing the object=20
      referred to by a <FONT color=3D#0000ff>REF</FONT> is called=20
      <B>dereferencing</B> the <FONT color=3D#0000ff>REF</FONT>. Oracle =
provides=20
      the <FONT color=3D#0000ff>DEREF</FONT> operator to do this. =
Dereferencing a=20
      dangling <FONT color=3D#0000ff>REF</FONT> results in a null =
object. Oracle=20
      provides <B>implicit dereferencing</B> of <FONT=20
      color=3D#0000ff>REF</FONT>s.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">=B7=C3=CE=CA <FONT =
color=3D#0000ff>REF</FONT>=20
      =
=CB=F9=D2=FD=D3=C3=B5=C4=B6=D4=CF=F3=B1=BB=B3=C6=CE=AA<B>=B7=C7=D2=FD=D3=C3=
=BB=AF</B>[dereferencing] <FONT color=3D#0000ff>REF</FONT>=A1=A3Oracle=20
      =CC=E1=B9=A9=C1=CB <FONT color=3D#0000ff>DEREF</FONT> =
=B2=D9=D7=F7=B7=FB=CA=B5=CF=D6=B4=CB=D6=D6=B2=D9=D7=F7=A1=A3=B5=B1=B7=C7=D2=
=FD=D3=C3=BB=AF=D2=BB=B8=F6=CA=A7=D0=A7 <FONT=20
      color=3D#0000ff>REF</FONT>[dangling <FONT=20
      =
color=3D#0000ff>REF</FONT>]=CA=B1=BD=AB=B5=C3=B5=BD=D2=BB=B8=F6=BF=D5=B6=D4=
=CF=F3=A1=A3Oracle =D6=A7=B3=D6=B6=D4 <FONT=20
      color=3D#0000ff>REF</FONT> =
=BD=F8=D0=D0=D2=FE=CA=BD=B5=C4=B7=C7=D2=FD=D3=C3=BB=AF=A1=A3<BR>=A1=A1</T=
D></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">070</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H4><A name=3De.27.2.1.5.4></A>Obtain REFs</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.27.2.1.5.4></A>27.2.1.5.4 =BB=F1=C8=A1 =
REF</H4></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">071</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can obtain a=20
      <FONT color=3D#0000ff>REF</FONT> to a row object by selecting the =
object=20
      from its object table and applying the <FONT =
color=3D#0000ff>REF</FONT>=20
      operator.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=D4=DA=B6=D4=CF=F3=B1=ED[object =
table]=D6=D0=B2=E9=D1=AF=B6=D4=CF=F3=CA=B1=CA=B9=D3=C3 <FONT=20
      color=3D#0000ff>REF</FONT> =
=B2=D9=D7=F7=B7=FB=BE=CD=BF=C9=D2=D4=BB=F1=C8=A1=D0=D0=B6=D4=CF=F3[row =
object]=B5=C4 <FONT=20
      color=3D#0000ff>REF</FONT> =CA=FD=BE=DD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">072</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational =
Features</A>=20
        for examples of how to use <FONT =
color=3D#0000ff>REF</FONT>s</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational =
Features</A>=20
        =B2=E9=BF=B4=CA=B9=D3=C3 <FONT color=3D#0000ff>REF</FONT> =
=B5=C4=CA=BE=C0=FD</BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">073</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.2.2></A>Collection Types</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.2.2></A>27.2.2 =
=BC=AF=BA=CF=C0=E0=D0=CD</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">074</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Each =
collection type=20
      describes a data unit made up of an indefinite number of elements, =
all of=20
      the same datatype. The collection types are <B>array types</B> and =

      <B>table types</B>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=BC=AF=BA=CF=C0=E0=D0=CD[collection=20
      =
type]=CA=C7=D3=C9=CE=DE=CF=DE=B8=F6=CF=E0=CD=AC=CA=FD=BE=DD=C0=E0=D0=CD=B5=
=C4=D4=AA=CB=D8=B9=B9=B3=C9=B5=C4=CA=FD=BE=DD=B5=A5=D4=AA=A1=A3=BC=AF=BA=CF=
=C0=E0=D0=CD=B0=FC=C0=A8<B>=CA=FD=D7=E9=C0=E0=D0=CD</B>[array =
type]=BC=B0<B>=B1=ED=C0=E0=D0=CD</B>[table=20
      type]=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">075</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Array =
types and=20
      table types are schema objects. The corresponding data units are =
called=20
      <B>VARRAYs</B> and <B>nested tables</B>. When there is no danger =
of=20
      confusion, we often refer to the collection types as <FONT=20
      color=3D#0000ff>VARRAY</FONT>s and nested tables.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=CA=FD=D7=E9=C0=E0=D0=CD=BC=B0=B1=ED=C0=E0=D0=CD=BE=F9=CE=AA=
=B7=BD=B0=B8=B6=D4=CF=F3=A1=A3=D3=EB=D5=E2=C1=BD=D6=D6=BC=AF=BA=CF=C0=E0=D0=
=CD=CF=E0=B6=D4=D3=A6=B5=C4=CA=FD=BE=DD=B5=A5=D4=AA=B7=D6=B1=F0=B1=BB=B3=C6=
=CE=AA=20
      <B>VARRAY</B> =BC=B0<B>=C7=B6=CC=D7=B1=ED</B>[nested =
table]=A1=A3=D4=DA=B2=BB=BB=E1=B7=A2=C9=FA=BB=EC=CF=FD=CA=B1=A3=AC=CE=D2=C3=
=C7=BF=C9=D2=D4=D6=B1=BD=D3=B3=C6=BC=AF=BA=CF=C0=E0=D0=CD=CE=AA <FONT=20
      color=3D#0000ff>VARRAY</FONT> =
=BB=F2=C7=B6=CC=D7=B1=ED=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">076</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Collection types=20
      have constructor methods. The name of the constructor method is =
the name=20
      of the type, and its argument is a comma separated list of the new =

      collection's elements. The constructor method is a function. It =
returns=20
      the new collection as its value.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=BC=AF=BA=CF=C0=E0=D0=CD=B0=FC=BA=AC=D2=BB=B8=F6=B9=B9=D4=EC=
=B7=BD=B7=A8[constructor=20
      =
method]=A1=A3=B9=B9=D4=EC=B7=BD=B7=A8=B5=C4=C3=FB=B3=C6=BC=B4=CE=AA=BC=AF=
=BA=CF=C0=E0=D0=CD=B5=C4=C3=FB=B3=C6=A3=AC=C6=E4=B2=CE=CA=FD=CE=AA=D2=D4=B6=
=BA=BA=C5=B7=D6=B8=EE=B5=C4=BC=AF=BA=CF=C0=E0=D0=CD=D4=AA=CB=D8=C1=D0=B1=ED=
=A1=A3=B9=B9=D4=EC=B7=BD=B7=A8=CA=C7=D2=BB=B8=F6=BA=AF=CA=FD=A3=AC=C6=E4=B7=
=B5=BB=D8=D6=B5=CE=AA=D0=C2=B4=B4=BD=A8=B5=C4=BC=AF=BA=CF=C0=E0=D0=CD=CA=B5=
=C0=FD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">077</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
expression=20
      consisting of the type name followed by empty parentheses =
represents a=20
      call to the constructor method to create an <SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">empty collection</SPAN> of =
that type. An=20
      empty collection is different from a null =
collection.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D4=DA=C0=E0=D0=CD=C3=FB=BA=F3=BC=D3=BF=D5=C0=A8=BA=C5=B5=C4=
=B1=ED=B4=EF=CA=BD=BF=C9=D2=D4=B5=F7=D3=C3=B9=B9=D4=EC=B7=BD=B7=A8=B4=B4=BD=
=A8=D2=BB=B8=F6=B4=CB=C0=E0=D0=CD=B5=C4<SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=BF=D5=D6=B5=BC=AF=BA=CF</SPAN>[empty=20
      =
collection]=A1=A3=D7=A2=D2=E2=BF=D5=D6=B5=BC=AF=BA=CF=D3=EB=BF=D5=BC=AF=BA=
=CF[null =
collection]=CA=C7=D3=D0=C7=F8=B1=F0=B5=C4=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">078</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H3><A name=3De.27.2.2.1></A>VARRAYs</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.27.2.2.1></A>27.2.2.1 VARRAY</H3></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">079</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
<B>array</B> is=20
      an ordered set of data <B>elements</B>. All elements of a given =
array are=20
      of the same datatype. Each element has an <B>index</B>, which is a =
number=20
      corresponding to the element's position in the =
array.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%"><B>=CA=FD=D7=E9</B>[array]=CA=C7=D2=BB=B8=F6=D3=D0=D0=F2=B5=
=C4=CF=E0=CD=AC=C0=E0=D0=CD=CA=FD=BE=DD<B>=D4=AA=CB=D8</B>[element]=B5=C4=
=BC=AF=BA=CF=A1=A3=D2=BB=B8=F6=CA=FD=D7=E9=C4=DA=CB=F9=D3=D0=CA=FD=BE=DD=D4=
=AA=CB=D8=B5=C4=CA=FD=BE=DD=C0=E0=D0=CD=BE=F9=CA=C7=CF=E0=CD=AC=B5=C4=A1=A3=
=C3=BF=B8=F6=D4=AA=CB=D8=BE=F9=D3=D0=D2=BB=B8=F6<B>=CB=F7=D2=FD</B>[index=
]=A3=AC=CB=F7=D2=FD=20
      =
=CA=C7=D2=BB=B8=F6=CA=FD=D7=D6=A3=AC=B4=FA=B1=ED=D4=AA=CB=D8=D4=DA=CA=FD=D7=
=E9=D6=D0=B5=C4=CE=BB=D6=C3=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">080</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">The =
number of=20
      elements in an array is the <B>size</B> of the array. Oracle =
allows arrays=20
      to be of variable size, which is why they are called <FONT=20
      color=3D#0000ff>VARRAY</FONT>s. You must specify a maximum size =
when you=20
      declare the array type.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=CA=FD=D7=E9=C4=DA=D4=AA=CB=D8=B5=C4=CA=FD=C1=BF=B1=BB=B3=C6=
=CE=AA=B4=CB=CA=FD=D7=E9=B5=C4<B>=C8=DD=C1=BF</B>[size]=A1=A3Oracle =
=D6=A7=B3=D6=B1=E4=BB=AF=C8=DD=C1=BF=B5=C4=CA=FD=D7=E9=A3=AC=B4=CB=D6=D6=CA=
=FD=D7=E9=B1=BB=B3=C6=CE=AA <FONT=20
      =
color=3D#0000ff>VARRAY</FONT>=A1=A3=D3=C3=BB=A7=D4=DA=C9=F9=C3=F7=CA=FD=D7=
=E9=C0=E0=D0=CD=CA=B1=B1=D8=D0=EB=C9=E8=B6=A8=CA=FD=D7=E9=B5=C4=D7=EE=B4=F3=
=C8=DD=C1=BF=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">081</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Creating an array=20
      type does not allocate space. It defines a datatype, which you can =
use as:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">The datatype of a column of a =
relational=20
        table=20
        <LI style=3D"MARGIN-BOTTOM: 10px">An object type attribute=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A PL/SQL variable, parameter, =
or=20
        function return type. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D4=DA=B4=B4=BD=A8=CA=FD=D7=E9=C0=E0=D0=CD=CA=B1=B2=BB=BB=E1=
=D5=BC=D3=C3=CF=B5=CD=B3=B5=C4=B4=E6=B4=A2=BF=D5=BC=E4=A1=A3=B4=B4=BD=A8=CA=
=FD=D7=E9=C0=E0=D0=CD=D2=E2=CE=B6=D7=C5=B6=A8=D2=E5=C1=CB=D2=BB=D6=D6=CA=FD=
=BE=DD=C0=E0=D0=CD=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3=D5=E2=D6=D6=CA=
=FD=BE=DD=C0=E0=D0=CD=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D7=F7=CE=AA=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=B1=ED=C4=B3=C1=D0=B5=C4=CA=
=FD=BE=DD=C0=E0=D0=CD=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D7=F7=CE=AA=B6=D4=CF=F3=C0=E0=D0=CD[object =
type]=B5=C4=CA=F4=D0=D4=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=D7=F7=CE=AA PL/SQL =
=B1=E4=C1=BF=A3=AC=B2=CE=CA=FD=A3=AC=BB=F2=BA=AF=CA=FD=B5=C4=B7=B5=BB=D8=D6=
=B5 </LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">082</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
<FONT=20
      color=3D#0000ff>VARRAY</FONT> is normally stored in line; that is, =
in the=20
      same tablespace as the other data in its row. If it is =
sufficiently large,=20
      however, Oracle stores it as a <FONT =
color=3D#0000ff>BLOB</FONT>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><FONT =
color=3D#0000ff>VARRAY</FONT>=20
      =
=CA=FD=BE=DD=CD=A8=B3=A3=CA=C7=C4=DA=C1=AA=B4=E6=B4=A2=B5=C4[stored in =
line]=A3=AC=BC=B4=D3=EB=C6=E4=CB=F9=D4=DA=CA=FD=BE=DD=D0=D0=B5=C4=C6=E4=CB=
=FB=CA=FD=BE=DD=B4=E6=B4=A2=D4=DA=CD=AC=D2=BB=B1=ED=BF=D5=BC=E4=C4=DA=A1=A3=
=B5=AB=CA=C7=C8=E7=B9=FB <FONT=20
      color=3D#0000ff>VARRAY</FONT> =CA=FD=BE=DD=BA=DC=B4=F3=A3=ACOracle =
=D2=B2=BF=C9=D2=D4=BD=AB=C6=E4=B4=E6=B4=A2=D4=DA <FONT=20
      color=3D#0000ff>BLOB</FONT> =D6=D0=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">083</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational =
Features</A>=20
        for more information about using <FONT=20
      color=3D#0000ff>VARRAY</FONT>s</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Object-Relational =
Features</A>=20
        =C1=CB=BD=E2=B9=D8=D3=DA=CA=B9=D3=C3 <FONT =
color=3D#0000ff>VARRAY =
</FONT>&nbsp;=B5=C4=B8=FC=B6=E0=D0=C5=CF=A2</BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">084</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H3><A name=3De.27.2.2.2></A>Nested Tables</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.27.2.2.2></A>27.2.2.2 =
=C7=B6=CC=D7=B1=ED</H3></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">085</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
<B>nested=20
      table</B> is an unordered set of data <B>elements</B>, all of the =
same=20
      datatype. It has a single column, and the type of that column is a =

      built-in type or an object type. If an object type, the table can =
also be=20
      viewed as a multicolumn table, with a column for each attribute of =
the=20
      object type. If compatibility is set to Oracle9i or higher, nested =
tables=20
      can contain other nested tables.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%"><B>=C7=B6=CC=D7=B1=ED</B>[nested=20
      =
table]=CA=C7=D2=BB=B8=F6=CE=DE=D0=F2=B5=C4=CF=E0=CD=AC=C0=E0=D0=CD=CA=FD=BE=
=DD<B>=D4=AA=CB=D8</B>[element]=B5=C4=BC=AF=BA=CF=A1=A3=C7=B6=CC=D7=B1=ED=
=D6=BB=D3=D0=D2=BB=C1=D0=A3=AC=B4=CB=C1=D0=B5=C4=C0=E0=D0=CD=BF=C9=D2=D4=CE=
=AA Oracle=20
      =
=C4=DA=D6=C3=CA=FD=BE=DD=C0=E0=D0=CD=BB=F2=B6=D4=CF=F3=C0=E0=D0=CD[object=
=20
      =
type]=A1=A3=B5=B1=C7=B6=CC=D7=B1=ED=C1=D0=B5=C4=C0=E0=D0=CD=CE=AA=B6=D4=CF=
=F3=C0=E0=D0=CD=CA=B1=A3=AC=C7=B6=CC=D7=B1=ED=D2=B2=BF=C9=D2=D4=B1=BB=BF=B4=
=D7=F6=D2=BB=B8=F6=B6=E0=C1=D0=B5=C4=B1=ED=A3=AC=B6=D4=CF=F3=C0=E0=D0=CD=B5=
=C4=C3=BF=B8=F6=CA=F4=D0=D4=BF=C9=D2=D4=B1=BB=BF=B4=D7=F6=D2=BB=C1=D0=A1=A3=
=C8=E7=B9=FB=CA=FD=BE=DD=BF=E2=B5=C4=BC=E6=C8=DD=D0=D4=B1=BB=C9=E8=D6=C3=CE=
=AA=20
      Oracle9i =
=BB=F2=B8=FC=B8=DF=A3=AC=C7=B6=CC=D7=B1=ED=D6=D0=BF=C9=D2=D4=B0=FC=BA=AC=C6=
=E4=CB=FB=C7=B6=CC=D7=B1=ED=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">086</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
table type=20
      definition does not allocate space. It defines a type, which you =
can use=20
      as:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">The datatype of a column of a =
relational=20
        table=20
        <LI style=3D"MARGIN-BOTTOM: 10px">An object type attribute=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A PL/SQL variable, parameter, =
or=20
        function return type </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D4=DA=B4=B4=BD=A8=C7=B6=CC=D7=B1=ED=C0=E0=D0=CD=CA=B1=B2=BB=
=BB=E1=D5=BC=D3=C3=CF=B5=CD=B3=B5=C4=B4=E6=B4=A2=BF=D5=BC=E4=A1=A3=B4=B4=BD=
=A8=C7=B6=CC=D7=B1=ED=C0=E0=D0=CD=D2=E2=CE=B6=D7=C5=B6=A8=D2=E5=C1=CB=D2=BB=
=D6=D6=CA=FD=BE=DD=C0=E0=D0=CD=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3=D5=
=E2=D6=D6=CA=FD=BE=DD=C0=E0=D0=CD=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D7=F7=CE=AA=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=B1=ED=C4=B3=C1=D0=B5=C4=CA=
=FD=BE=DD=C0=E0=D0=CD=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D7=F7=CE=AA=B6=D4=CF=F3=C0=E0=D0=CD[object =
type]=B5=C4=CA=F4=D0=D4=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=D7=F7=CE=AA PL/SQL =
=B1=E4=C1=BF=A3=AC=B2=CE=CA=FD=A3=AC=BB=F2=BA=AF=CA=FD=B5=C4=B7=B5=BB=D8=D6=
=B5 </LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">087</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">When a =
table type=20
      appears as the type of a column in a relational table or as an =
attribute=20
      of the underlying object type of an object table, Oracle stores =
all of the=20
      nested table data in a single table, which it associates with the=20
      enclosing relational or object table.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=C8=E7=B9=FB=BD=AB=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=B1=ED=B5=C4=
=C1=D0=BB=F2=B6=D4=CF=F3=B1=ED=B5=D7=B2=E3=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=CA=
=F4=D0=D4=B6=A8=D2=E5=CE=AA=C7=B6=CC=D7=B1=ED=C0=E0=D0=CD=A3=ACOracle=20
      =
=BD=AB=B0=D1=C7=B6=CC=D7=B1=ED=CA=FD=BE=DD=B4=E6=B4=A2=D4=DA=D2=BB=B8=F6=B5=
=A5=B6=C0=B5=C4=CA=FD=BE=DD=B1=ED=D6=D0=A3=AC=B4=CB=B1=ED=D3=EB=C7=B6=CC=D7=
=B1=ED=CA=FD=BE=DD=CB=F9=D4=DA=B5=C4=B9=D8=CF=B5=D0=CD=B1=ED=BB=F2=B6=D4=CF=
=F3=B1=ED=CF=E0=B9=D8=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">088</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
convenient way to=20
      access the elements of a nested table individually is to use a =
nested=20
      cursor.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3=C7=B6=CC=D7=D3=CE=B1=EA=
[nested=20
      =
cursor]=D6=F0=B8=F6=B5=D8=B7=C3=CE=CA=C7=B6=CC=D7=B1=ED=B5=C4=C3=BF=B8=F6=
=D4=AA=CB=D8=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">089</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/to=
c.htm">Oracle=20
          Database Reference</A> for information about nested cursors=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> for more information about using nested tables=20
      </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>=C1=ED=BC=FB=A3=BA</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/to=
c.htm">Oracle=20
          Database Reference</A> =
=C1=CB=BD=E2=B9=D8=D3=DA=C7=B6=CC=D7=D3=CE=B1=EA=B5=C4=D0=C5=CF=A2=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> =
=C1=CB=BD=E2=B9=D8=D3=DA=CA=B9=D3=C3=C7=B6=CC=D7=B1=ED=B5=C4=D0=C5=CF=A2 =
</LI></UL></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">090</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3De.27.3></A>Overview =
of Type=20
      Inheritance</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.27.3></A>27.3=20
      =C0=E0=D0=CD=BC=CC=B3=D0=B8=C5=CA=F6</SPAN></H1></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">091</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
object type can=20
      be created as a subtype of an existing object type. A single =
inheritance=20
      model is supported: the subtype can be derived from only one =
parent type.=20
      A type inherits all the attributes and methods of its direct =
supertype. It=20
      can add new attributes and methods, and it can override any of the =

      inherited methods.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=BB=F9=D3=DA=D2=D1=D3=D0=B5=C4=B6=D4=
=CF=F3=C0=E0=D0=CD[object=20
      type]=B4=B4=BD=A8=C6=E4=D7=D3=C0=E0=D0=CD[subtype]=A1=A3Oracle =
=D6=BB=D6=A7=B3=D6=B5=A5=D2=BB=BC=CC=B3=D0=C4=A3=D0=CD=A3=BA=BC=B4=D7=D3=C0=
=E0=D0=CD=D6=BB=C4=DC=BC=CC=B3=D0=D7=D4=D2=BB=B8=F6=B8=B8=C0=E0=D0=CD=A1=A3=
=D7=D3=C0=E0=D0=CD=BD=AB=BC=CC=B3=D0=C6=E4=D6=B1=BD=D3=B3=AC=C0=E0=D0=CD=A3=
=A8direct=20
      =
supertype=A3=A9=B5=C4=CB=F9=D3=D0=CA=F4=D0=D4=BA=CD=B7=BD=B7=A8=A1=A3=D3=C3=
=BB=A7=BB=B9=BF=C9=D2=D4=D4=DA=D7=D3=C0=E0=D0=CD=D6=D0=CC=ED=BC=D3=D0=C2=B5=
=C4=CA=F4=D0=D4=BA=CD=B7=BD=B7=A8=A3=AC=BB=F2=D5=DF=B8=B2=B8=C7[override]=
=BC=CC=B3=D0=D7=D4=B8=B8=C0=E0=D0=CD=B5=C4=B7=BD=B7=A8=A1=A3<BR>=A1=A1</T=
D></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">092</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.f.27.1"=20
      target=3D_self>Figure 27-1</A> illustrates two subtypes, <FONT=20
      color=3D#0000ff>Student_t</FONT> and <FONT =
color=3D#0000ff>Employee_t</FONT>,=20
      created under <FONT =
color=3D#0000ff>Person_t</FONT>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.f.27.1"=20
      target=3D_self>=CD=BC 27-1</A> =CF=D4=CA=BE=C1=CB <FONT =
color=3D#0000ff>Person_t</FONT>=20
      =C0=E0=D0=CD=CF=C2=B5=C4=C1=BD=B8=F6=D7=D3=C0=E0=D0=CD=A3=AC<FONT =
color=3D#0000ff>Student_t</FONT> =BC=B0 <FONT=20
      color=3D#0000ff>Employee_t</FONT> =
=C0=E0=D0=CD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">093</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%"><I><B><FONT=20
      size=3D2><A name=3De.f.27.1></A>Figure 27-1 A Type=20
      Hierarchy<BR>=A1=A1</FONT></B></I></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><I><B><FONT size=3D2><A=20
      name=3Dc.f.27.1></A>=CD=BC 27-1 =
=C0=E0=D0=CD=B2=E3=B4=CE=BD=E1=B9=B9<BR>=A1=A1</FONT></B></I></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">094</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/e.cncpt148.gif"><IMG=20
      height=3D95=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
e.cncpt148.gif"=20
      width=3D256 border=3D0></A><BR>=A1=A1</P></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <P align=3Dcenter><IMG height=3D95=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
c.cncpt148.gif"=20
      width=3D256 border=3D0><BR>=A1=A1</P></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">095</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><FONT size=3D2>Figure 27-1 is described in the text =
preceding=20
        the image.</FONT></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><FONT size=3D2>=CD=BC 27-1 =
=CB=F9=CA=BE=C4=DA=C8=DD=BD=AB=D4=DA=CF=C2=CE=C4=D6=D0=C3=E8=CA=F6=A1=A3<=
/FONT></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">096</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Furthermore, a=20
      subtype can itself be refined by defining another subtype under =
it, thus=20
      building up type hierarchies. In the preceding diagram, <FONT=20
      color=3D#0000ff>PartTimeStudent_t</FONT> is derived from subtype =
<FONT=20
      color=3D#0000ff>Student_t</FONT>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B4=CB=CD=E2=A3=AC=D2=BB=B8=F6=D7=D3=C0=E0=D0=CD=BB=B9=BF=C9=
=D2=D4=D3=D0=D7=D4=BC=BA=B5=C4=D7=D3=C0=E0=D0=CD=A3=AC=D5=E2=BE=CD=D0=CE=B3=
=C9=C1=CB=C0=E0=D0=CD=B2=E3=B4=CE=BD=E1=B9=B9=A1=A3=D4=DA=C9=CF=C3=E6=B5=C4=
=CD=BC=CA=BE=D6=D0=A3=AC<FONT=20
      color=3D#0000ff>PartTimeStudent_t</FONT> =
=C0=E0=D0=CD=BC=CC=B3=D0=D7=D4 <FONT=20
      color=3D#0000ff>Person_t</FONT> =
=C0=E0=D0=CD=B5=C4=D7=D3=C0=E0=D0=CD <FONT=20
      color=3D#0000ff>Student_t</FONT>=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">097</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.3.1></A>FINAL and NOT FINAL Types</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.3.1></A>27.3.1 FINAL =D3=EB NOT FINAL =
=C0=E0=D0=CD</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">098</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A type =
declaration=20
      must have the <FONT color=3D#0000ff>NOT FINAL</FONT> keyword, if =
you want it=20
      to have subtypes. The default is that the type is <FONT=20
      color=3D#0000ff>FINAL</FONT>; that is, no subtypes can be created =
for the=20
      type. This allows for backward compatibility.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C8=E7=B9=FB=D3=C3=BB=A7=CF=A3=CD=FB=D2=BB=B8=F6=C0=E0=D0=CD=
=BF=C9=D2=D4=B1=BB=BC=CC=B3=D0=A3=AC=D4=DA=C9=F9=C3=F7=B4=CB=C0=E0=D0=CD=CA=
=B1=D3=A6=CA=B9=D3=C3 <FONT=20
      color=3D#0000ff>NOT FINAL</FONT> =
=B9=D8=BC=FC=D7=D6=A1=A3=D4=DA=C4=AC=C8=CF=C7=E9=BF=F6=CF=C2=C0=E0=D0=CD=B5=
=C4=BC=CC=B3=D0=CA=F4=D0=D4=CA=C7 <FONT=20
      =
color=3D#0000ff>FINAL</FONT>=A3=AC=BC=B4=C0=E0=D0=CD=CE=DE=B7=A8=B1=BB=BC=
=CC=B3=D0=A1=A3=D5=E2=B8=F6=B9=E6=B6=A8=CA=C7=CE=AA=C1=CB=CC=E1=B9=A9=CF=F2=
=BA=F3=BC=E6=C8=DD=D0=D4=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">099</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.3.2></A>NOT INSTANTIABLE Types and =
Methods</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.3.2></A>27.3.2 NOT INSTANTIABLE =
=C0=E0=D0=CD=BC=B0=B7=BD=B7=A8</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">100</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A type =
can be=20
      declared to be <FONT color=3D#0000ff>NOT INSTANTIABLE</FONT>. This =
implies=20
      that there is no constructor (default or user-defined) for the =
type. Thus,=20
      it is not possible to construct instances of this type. Typically, =
you=20
      would define instantiable subtypes for such a type as =
follows:<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D2=BB=B8=F6=C0=E0=D0=CD=BF=C9=D2=D4=B1=BB=C9=F9=C3=F7=CE=AA=
 <FONT color=3D#0000ff>NOT=20
      =
INSTANTIABLE</FONT>=A1=A3=D5=E2=B1=ED=CA=BE=B4=CB=C0=E0=D0=CD=C3=BB=D3=D0=
=A3=A8=C4=AC=C8=CF=BB=F2=D3=C3=BB=A7=B6=A8=D2=E5=B5=C4=A3=A9=B9=B9=D4=EC=C6=
=F7[constructor]=A1=A3=D2=F2=B4=CB=D5=E2=D6=D6=C0=E0=D0=CD=CE=DE=B7=A8=B9=
=B9=D4=EC=D0=C2=CA=B5=C0=FD=A1=A3=CD=A8=B3=A3=C7=E9=BF=F6=CF=C2=A3=AC=D3=C3=
=BB=A7=BF=C9=D2=D4=B0=B4=D2=D4=CF=C2=CA=BE=C0=FD=20
      =
=B5=C4=D7=F6=B7=A8=CA=B9=D3=C3=B2=BB=BF=C9=CA=B5=C0=FD=BB=AF[instantiable=
]=B5=C4=C0=E0=D0=CD=A3=BA<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">101</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>CREATE TYPE Address_t AS OBJECT(...) NOT INSTANTIABLE =
NOT=20
        FINAL;<BR>CREATE TYPE USAddress_t UNDER =
Address_t(...);<BR>CREATE TYPE=20
        IntlAddress_t UNDER Address_t(...);</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>CREATE TYPE Address_t AS OBJECT(...) NOT INSTANTIABLE =
NOT=20
        FINAL;<BR>CREATE TYPE USAddress_t UNDER =
Address_t(...);<BR>CREATE TYPE=20
        IntlAddress_t UNDER Address_t(...);</BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">102</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
method of a type=20
      can be declared to be <FONT color=3D#0000ff>NOT =
INSTANTIABLE</FONT>.=20
      Declaring a method as <FONT color=3D#0000ff>NOT =
INSTANTIABLE</FONT> means=20
      that the type is not providing an implementation for that method.=20
      Furthermore, a type that contains any non-instantiable methods =
must=20
      necessarily be declared <FONT color=3D#0000ff>NOT=20
    INSTANTIABLE</FONT>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D2=BB=B8=F6=C0=E0=D0=CD=B5=C4=B7=BD=B7=A8=D2=B2=BF=C9=D2=D4=
=B1=BB=C9=F9=C3=F7=CE=AA <FONT=20
      color=3D#0000ff>NOT =
INSTANTIABLE</FONT>=A1=A3=D5=E2=B1=ED=C3=F7=C0=E0=D0=CD=B6=A8=D2=E5=D6=D0=
=B2=A2=C3=BB=D3=D0=CC=E1=B9=A9=B4=CB=B7=BD=B7=A8=B5=C4=CA=B5=CF=D6=A1=A3=B0=
=FC=BA=AC <FONT=20
      color=3D#0000ff>NOT INSTANTIABLE</FONT> =
=B7=BD=B7=A8=B5=C4=C0=E0=D0=CD=B1=D8=D0=EB=D2=B2=C9=F9=C3=F7=CE=AA <FONT =
color=3D#0000ff>NOT=20
      INSTANTIABLE</FONT>=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">103</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
subtype of a <FONT=20
      color=3D#0000ff>NOT INSTANTIABLE</FONT> type can override any of =
the=20
      non-instantiable methods of the supertype and provide concrete=20
      implementations. If there are any non-instantiable methods =
remaining, the=20
      subtype must also necessarily be declared <FONT =
color=3D#0000ff>NOT=20
      INSTANTIABLE</FONT>.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><FONT =
color=3D#0000ff>NOT=20
      INSTANTIABLE</FONT>=20
      =
=C0=E0=D0=CD=B5=C4=D7=D3=C0=E0=D0=CD=BF=C9=D2=D4=B8=B2=B8=C7=C6=E4=B3=AC=C0=
=E0=D0=CD=D6=D0=B5=C4=B2=BB=BF=C9=CA=B5=C0=FD=BB=AF=B5=C4=B7=BD=B7=A8=A3=AC=
=B2=A2=CC=E1=B9=A9=B7=BD=B7=A8=B5=C4=BE=DF=CC=E5=CA=B5=CF=D6=A1=A3=C8=E7=B9=
=FB=D7=D3=C0=E0=D0=CD=D6=D0=C8=D4=D3=D0=B2=BB=BF=C9=CA=B5=C0=FD=BB=AF=B5=C4=
=B7=BD=B7=A8=A3=AC=D4=F2=D7=D3=C0=E0=D0=CD=D2=B2=B1=D8=D0=EB=C9=F9=C3=F7=CE=
=AA <FONT=20
      color=3D#0000ff>NOT INSTANTIABLE</FONT>=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">104</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
non-instantiable=20
      subtype can be defined under an instantiable supertype. Declaring =
a=20
      non-instantiable type to be <FONT color=3D#0000ff>FINAL</FONT> is =
not=20
      allowed.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B2=BB=BF=C9=CA=B5=C0=FD=BB=AF=B5=C4=C0=E0=D0=CD=BF=C9=D2=D4=
=BC=CC=B3=D0=BF=C9=CA=B5=C0=FD=BB=AF=B5=C4=B3=AC=C0=E0=D0=CD=A1=A3Oracle =

      =
=B2=BB=D4=CA=D0=ED=BD=AB=B2=BB=BF=C9=CA=B5=C0=FD=BB=AF=B5=C4=C0=E0=D0=CD=C9=
=F9=C3=F7=CE=AA <FONT =
color=3D#0000ff>FINAL</FONT>=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">105</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/to=
c.htm">Oracle=20
        Database PL/SQL User's Guide and Reference</A></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/to=
c.htm">Oracle=20
        Database PL/SQL User's Guide and =
Reference</A></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">106</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3De.27.4></A>Overview =
of=20
      User-Defined Aggregate Functions</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.27.4></A>27.4=20
      =
=D3=C3=BB=A7=B6=A8=D2=E5=BE=DB=BA=CF=BA=AF=CA=FD=B8=C5=CA=F6</SPAN></H1><=
/TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">107</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Oracle =
supports a=20
      fixed set of aggregate functions, such as <FONT =
color=3D#0000ff>MAX</FONT>,=20
      <FONT color=3D#0000ff>MIN</FONT>, and <FONT =
color=3D#0000ff>SUM</FONT>. These=20
      is also a mechanism to implement new aggregate functions with =
user-defined=20
      aggregation logic.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle =
=C4=DA=D6=C3=C1=CB=D2=BB=CC=D7=BE=DB=BA=CF=BA=AF=CA=FD=A3=AC=C0=FD=C8=E7 =
<FONT=20
      color=3D#0000ff>MAX</FONT>=A3=AC<FONT =
color=3D#0000ff>MIN</FONT>=A3=AC=BC=B0 <FONT=20
      color=3D#0000ff>SUM</FONT> =
=B5=C8=A1=A3=D3=C3=BB=A7=D2=B2=BF=C9=D2=D4=D7=D4=B6=A8=D2=E5=BE=DB=BA=CF=C2=
=DF=BC=AD=B4=D3=B6=F8=CA=B5=CF=D6=D0=C2=B5=C4=BE=DB=BA=CF=BA=AF=CA=FD=A1=A3=
<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">108</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.4.1></A>Why Have User-Defined Aggregate=20
Functions?</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.4.1></A>27.4.1 =
=CE=AA=BA=CE=CA=B9=D3=C3=D3=C3=BB=A7=B6=A8=D2=E5=BE=DB=BA=CF=BA=AF=CA=FD<=
/H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">109</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">User-defined=20
      aggregate functions (UDAGs) refer to aggregate functions with=20
      user-specified aggregation semantics. Users can create a new =
aggregate=20
      function and provide the aggregation logic through a set of =
routines.=20
      After it is created, the user-defined aggregate function can be =
used in=20
      SQL DML statements in a manner similar to built-in aggregates. The =
Oracle=20
      database server evaluates the UDAG by invoking the user-provided=20
      aggregation routines appropriately.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=B6=A8=D2=E5=BE=DB=BA=CF=BA=AF=CA=FD[user-defin=
ed aggregate=20
      =
function=A3=ACUDAG]=D6=B8=D3=C3=BB=A7=CA=B9=D3=C3=D7=D4=B6=A8=D2=E5=B5=C4=
=BE=DB=BA=CF=D3=EF=D2=E5=CA=B5=CF=D6=B5=C4=BE=DB=BA=CF=BA=AF=CA=FD=A1=A3=D3=
=C3=BB=A7=BF=C9=D2=D4=B4=B4=BD=A8=D0=C2=BE=DB=BA=CF=BA=AF=CA=FD=A3=AC=B2=A2=
=CD=A8=B9=FD=D2=BB=CF=B5=C1=D0=B9=FD=B3=CC=CA=B5=CF=D6=BE=DB=BA=CF=C2=DF=BC=
=AD=A1=A3=B5=B1=B4=B4=BD=A8=C1=CB=D3=C3=BB=A7=B6=A8=D2=E5=BE=DB=BA=CF=BA=AF=
=CA=FD=BA=F3=A3=AC=BE=CD=BF=C9=D2=D4=D4=DA=20
      SQL DML =
=D6=D0=CA=B9=D3=C3=A3=AC=CA=B9=D3=C3=B7=BD=CA=BD=D3=EB=C6=E4=CB=FB =
Oracle =C4=DA=D6=C3=BE=DB=BA=CF=BA=AF=CA=FD=C0=E0=CB=C6=A1=A3Oracle =
=CA=FD=BE=DD=BF=E2=B7=FE=CE=F1=C6=F7=C4=DC=B9=BB=B5=F7=D3=C3=D3=C3=BB=A7=B6=
=A8=D2=E5=B5=C4=B9=FD=B3=CC=B4=A6=C0=ED=20
    UDAG=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">110</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Databases are=20
      increasingly being used to store complex data such as image, =
spatial,=20
      audio, video, and so on. The complex data is typically stored in =
the=20
      database using object types, opaque types, or LOBs. User-defined=20
      aggregates are primarily useful in specifying aggregation over =
such new=20
      domains of data.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B5=B1=C7=B0=A3=AC=CA=FD=BE=DD=BF=E2=D6=D0=BB=E1=B4=E6=B4=A2=
=D4=BD=C0=B4=D4=BD=B6=E0=B5=C4=B8=B4=D4=D3=CA=FD=BE=DD=A3=AC=C0=FD=C8=E7=CD=
=BC=CF=F1=A3=AC=BF=D5=BC=E4=CA=FD=BE=DD=A3=AC=D2=F4=C6=B5=A3=AC=CA=D3=C6=B5=
=B5=C8=A1=A3=B8=B4=D4=D3=CA=FD=BE=DD=D4=DA=CA=FD=BE=DD=BF=E2=D6=D0=CD=A8=B3=
=A3=D2=D4=B6=D4=CF=F3=C0=E0=D0=CD=A3=AC=B2=BB=CD=B8=C3=F7=C0=E0=D0=CD[opa=
que=20
      type]=A3=AC=BB=F2 LOB =
=C0=E0=D0=CD=B4=E6=B4=A2=A1=A3=D3=C3=BB=A7=B6=A8=D2=E5=BE=DB=BA=CF=BA=AF=CA=
=FD=D6=F7=D2=AA=D3=C3=D3=DA=B6=D4=D0=C2=B3=F6=CF=D6=B5=C4=B8=B4=D4=D3=CA=FD=
=BE=DD=BD=F8=D0=D0=BE=DB=BA=CF=B2=D9=D7=F7=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">111</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%">Furthermore, UDAGs=20
      can be used to create new aggregate functions over traditional =
scalar=20
      datatypes for financial or scientific applications. Because it is =
not=20
      possible to provide native support for all forms of aggregates, it =
is=20
      desirable to provide application developers with a flexible =
mechanism to=20
      add new aggregate functions.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B4=CB=CD=E2=A3=AC=D3=C3=BB=A7=D2=B2=BF=C9=D2=D4=B4=B4=BD=A8=
=D0=C2=BE=DB=BA=CF=BA=AF=CA=FD=A3=AC=D2=D4=B1=E3=D4=DA=B2=C6=CE=F1=BB=F2=BF=
=C6=D1=A7=BC=C6=CB=E3=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=B4=A6=C0=ED=B4=AB=CD=B3=
=B5=C4=CA=FD=C1=BF=CA=FD=BE=DD=C0=E0=D0=CD[scalar datatype]=A1=A3=D4=DA=20
      Oracle =
=D6=D0=B2=BB=BF=C9=C4=DC=D4=A4=D6=C3=CB=F9=D3=D0=D3=C3=BB=A7=D0=E8=D2=AA=B5=
=C4=BE=DB=BA=CF=BA=AF=CA=FD=A3=AC=D2=F2=B4=CB=D3=A6=D3=C3=B3=CC=D0=F2=BF=AA=
=B7=A2=D5=DF=BF=C9=D2=D4=CD=A8=B9=FD UDAG =
=D5=E2=D6=D6=C1=E9=BB=EE=B5=C4=BB=FA=D6=C6=B6=A8=D2=E5=D0=C2=BE=DB=BA=CF=BA=
=AF=CA=FD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">112</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14289/to=
c.htm">Oracle=20
          Database Data Cartridge Developer's Guide</A> for information =
about=20
          implementing user-defined aggregates=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/to=
c.htm">Oracle=20
          Database Data Warehousing Guide</A> for more information about =
using=20
          UDAGs in data warehousing=20
          <LI style=3D"MARGIN-BOTTOM: 10px">Chapter 26, "<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/26.Native%20Datatypes.htm">Native=20
          Datatypes</A>" for more information on opaque types=20
    </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>=C1=ED=BC=FB=A3=BA</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14289/to=
c.htm">Oracle=20
          Database Data Cartridge Developer's Guide</A> =
=C1=CB=BD=E2=C8=E7=BA=CE=CA=B5=CF=D6=D3=C3=BB=A7=B6=A8=D2=E5=B5=C4=BE=DB=BA=
=CF=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/to=
c.htm">Oracle=20
          Database Data Warehousing Guide</A> =
=C1=CB=BD=E2=D4=DA=CA=FD=BE=DD=B2=D6=BF=E2=D6=D0=CA=B9=D3=C3 UDAG =
=B5=C4=D0=C5=CF=A2=20
          <LI style=3D"MARGIN-BOTTOM: 10px">=B5=DA 26 =
=D5=C2=A3=AC=A1=B0<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/26.Native%20Datatypes.htm">=D4=AD=C9=FA=CA=FD=BE=DD=C0=E0=D0=
=CD</A>=A1=B1=C1=CB=BD=E2=B9=D8=D3=DA=B2=BB=CD=B8=C3=F7=CA=FD=BE=DD=C0=E0=
=D0=CD=B5=C4=D0=C5=CF=A2=20
          </LI></UL></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">113</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3De.27.5></A>Overview =
of Datatype=20
      Evolution</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.27.5></A>27.5=20
      =
=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD=D1=DD=BB=AF=B8=C5=CA=F6</SPAN></H1><=
/TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">114</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">An =
object datatype=20
      can be referenced by any of the following schema objects:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Table or subtable=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Type or subtype=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Program unit (PL/SQL block): =
procedure,=20
        function, package, trigger=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">Indextype</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px">View (including object view)=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Function-based index=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Operator </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D2=BB=B8=F6=B6=D4=CF=F3=CA=FD=BE=DD=C0=E0=D0=CD[object=20
      =
datatype]=BF=C9=D2=D4=B1=BB=D2=D4=CF=C2=B7=BD=B0=B8=B6=D4=CF=F3[schema =
object]=D2=FD=D3=C3=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B1=ED[table]=BB=F2=D7=D3=B1=ED[subtable]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C0=E0=D0=CD[type]=BB=F2=D7=D3=C0=E0=D0=CD[subtype]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B3=CC=D0=F2=B5=A5=D4=AA[program unit]=A3=A8=BB=F2 PL/SQL =
=BF=E9[PL/SQL=20
        =
block]=A3=A9=A3=BA=B0=FC=C0=A8=B9=FD=B3=CC[procedure]=A3=AC=BA=AF=CA=FD[f=
unction]=A3=AC=B0=FC[package]=A3=AC=BC=B0=B4=A5=B7=A2=C6=F7[trigger]=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=CB=F7=D2=FD=C0=E0=D0=CD</SPAN>[indextype]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CA=D3=CD=BC[view]=A3=A8=B0=FC=C0=A8=B6=D4=CF=F3=CA=D3=CD=BC[object=
 view]=A3=A9=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=BA=AF=CA=FD=CB=F7=D2=FD[function-based index]=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=B2=D9=D7=F7=B7=FB[operator] =
</LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">115</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">When =
any of these=20
      objects references a type, either directly or indirectly through =
another=20
      type or subtype, it becomes a dependent object on that type. =
Whenever a=20
      type is modified, all dependent program units, views, operators =
and=20
      indextypes are marked invalid. The next time each of these invalid =
objects=20
      is referenced, it is revalidated, using the new type definition. =
If it is=20
      recompiled successfully, then it becomes valid and can be used=20
    again.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B5=B1=C9=CF=CA=F6=B7=BD=B0=B8=B6=D4=CF=F3=D2=FD=D3=C3=C1=CB=
=D2=BB=B8=F6=B6=D4=CF=F3=C0=E0=D0=CD=CA=B1=A3=A8=D6=B1=BD=D3=D2=FD=D3=C3=BB=
=F2=BC=E4=BD=D3=B5=D8=D2=FD=D3=C3=C6=E4=CB=FB=B6=D4=CF=F3=C0=E0=D0=CD=BB=F2=
=D7=D3=C0=E0=D0=CD=A3=A9=A3=AC=D5=E2=B8=F6=B7=BD=B0=B8=B6=D4=CF=F3=BD=AB=B3=
=C9=CE=AA=C6=E4=D2=FD=D3=C3=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=D2=C0=C0=B5=B6=D4=
=CF=F3=A1=A3=C8=E7=B9=FB=D2=FD=D3=C3=B6=D4=CF=F3=C0=E0=D0=CD=B7=A2=C9=FA=D0=
=DE=B8=C4=A3=AC=CB=F9=D3=D0=D2=C0=C0=B5=B4=CB=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=
=B3=CC=D0=F2=B5=A5=D4=AA=A3=AC=CA=D3=CD=BC=A3=AC=B2=D9=D7=F7=B7=FB=A3=AC=BC=
=B0=CB=F7=D2=FD=C0=E0=D0=CD=B6=BC=BD=AB=B1=BB=B1=EA=BC=C7=CE=AA=CE=DE=D0=A7=
[invalid]=A1=A3=B5=B1=CE=DE=D0=A7=B7=BD=B0=B8=B6=D4=CF=F3=D4=D9=B4=CE=B1=BB=
=CA=B9=D3=C3=CA=B1=A3=AC=BD=AB=B8=F9=BE=DD=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=D0=
=C2=B6=A8=D2=E5=D6=D8=D0=C2=D1=E9=D6=A4[revalidate]=A1=A3=C8=E7=B9=FB=B7=BD=
=B0=B8=B6=D4=CF=F3=C4=DC=B9=BB=B1=BB=D6=D8=D0=C2=B1=E0=D2=EB=A3=AC=BD=AB=BB=
=E1=BB=D6=B8=B4=D3=D0=D0=A7[valid]=D7=B4=CC=AC=A3=AC=B2=A2=BF=C9=D2=D4=BC=
=CC=D0=F8=CA=B9=D3=C3=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">116</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">When a =
type has=20
      either type or table dependents, altering a type definition =
becomes more=20
      complicated because existing persistent data relies on the current =
type=20
      definition.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=C8=E7=B9=FB=D2=BB=B8=F6=B6=D4=CF=F3=C0=E0=D0=CD=B1=BB=CA=FD=
=BE=DD=B1=ED=BB=F2=C6=E4=CB=FB=B6=D4=CF=F3=C0=E0=D0=CD=CB=F9=D2=C0=C0=B5=A3=
=AC=C4=C7=C3=B4=D0=DE=B8=C4=B4=CB=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B6=A8=D2=E5=
=BD=AB=B5=BC=D6=C2=B8=FC=CE=AA=B8=B4=D4=D3=B5=C4=CE=CA=CC=E2=A3=AC=D2=F2=CE=
=AA=D2=D1=B4=E6=D4=DA=B5=C4=B3=D6=BE=C3=BB=AF=CA=FD=BE=DD=D2=C0=C0=B5=D3=DA=
=B4=CB=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B6=A8=D2=E5=A1=A3<BR>=A1=A1</TD></TR=
>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">117</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can change an=20
      object type and propagate the type change to its dependent types =
and=20
      tables. <FONT color=3D#0000ff>ALTER TYPE</FONT> lets you add or =
drop methods=20
      and attributes from existing types and optionally propagate the =
changes to=20
      dependent types, tables, and even the table data. You can also =
modify=20
      certain attributes of a type.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=D4=DA=D0=DE=B8=C4=B6=D4=CF=F3=C0=E0=
=D0=CD=B6=A8=D2=E5=BA=F3=BD=AB=C0=E0=D0=CD=B5=C4=D0=DE=B8=C4=B4=AB=B2=A5[=
propagate]=B5=BD=D2=C0=C0=B5=D3=DA=B4=CB=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=CA=
=FD=BE=DD=B1=ED=BB=F2=C0=E0=D0=CD=D6=D0=A1=A3=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=
=D3=C3=20
      <FONT color=3D#0000ff>ALTER TYPE</FONT>=20
      =
=D3=EF=BE=E4=CC=ED=BC=D3=BB=F2=D2=C6=B3=FD=B6=D4=CF=F3=C0=E0=D0=CD=D6=D0=B5=
=C4=B7=BD=B7=A8=BA=CD=CA=F4=D0=D4=A3=AC=BB=B9=BF=C9=D2=D4=CA=B9=D3=C3=B4=CB=
=D3=EF=BE=E4=BD=AB=B6=A8=D2=E5=D0=DE=B8=C4=B4=AB=B2=A5=B5=BD=D2=C0=C0=B5=D3=
=DA=B4=CB=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=CA=FD=BE=DD=B1=ED=BB=F2=C0=E0=D0=CD=
=D6=D0=A3=AC=C9=F5=D6=C1=B4=AB=B2=A5=B5=BD=D2=C0=C0=B5=D3=DA=B4=CB=B6=D4=CF=
=F3=C0=E0=D0=CD=B5=C4=B1=ED=CA=FD=BE=DD=D6=D0=A1=A3<FONT=20
      color=3D#0000ff>ALTER TYPE</FONT> =
=D3=EF=BE=E4=D2=B2=BF=C9=D3=C3=D3=DA=D0=DE=B8=C4=B6=D4=CF=F3=C0=E0=D0=CD=B5=
=C4=CA=F4=D0=D4=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; border-bo: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">118</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/to=
c.htm">Oracle=20
          Database SQL Reference</A> for details about syntax=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/to=
c.htm">Oracle=20
          Database PL/SQL User's Guide and Reference</A> for details =
about type=20
          specification and body compilation=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> for details about managing type versions=20
      </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>=C1=ED=BC=FB=A3=BA</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/to=
c.htm">Oracle=20
          Database SQL Reference</A> =
=C1=CB=BD=E2=CF=E0=B9=D8=D3=EF=B7=A8=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/to=
c.htm">Oracle=20
          Database PL/SQL User's Guide and Reference</A> =
=B2=E9=BF=B4=B9=D8=D3=DA=B1=E0=D2=EB=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B9=E6=B7=
=B6=BC=B0=CC=E5=B5=C4=D0=C5=CF=A2=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> =
=C1=CB=BD=E2=C8=E7=BA=CE=B9=DC=C0=ED=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B0=E6=B1=
=BE </LI></UL></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">119</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A =
name=3De.27.6></A>Introduction to=20
      Object Views</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.27.6></A>27.6=20
      =B6=D4=CF=F3=CA=D3=CD=BC=BC=F2=BD=E9</SPAN></H1></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">120</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Just =
as a view is a=20
      virtual table, an <B>object view</B> is a virtual object =
table.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C8=E7=CD=AC=CA=D3=CD=BC=CA=C7=D0=E9=C4=E2=B5=C4=B1=ED=D2=BB=
=D1=F9=A3=AC<B>=B6=D4=CF=F3=CA=D3=CD=BC</B>[object=20
      view]=CA=C7=D2=BB=B8=F6=D0=E9=C4=E2=B5=C4=B6=D4=CF=F3=B1=ED[object =
table]=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">121</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Oracle =
provides=20
      object views as an extension of the basic relational view =
mechanism. By=20
      using object views, you can create virtual object tables from =
data=A1=AAof=20
      either built-in or user-defined types=A1=AAstored in the columns =
of relational=20
      or object tables in the database.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle=20
      =
=CC=E1=B9=A9=C1=CB=B6=D4=CF=F3=CA=D3=CD=BC=D7=F7=CE=AA=B9=D8=CF=B5=D0=CD=CA=
=D3=CD=BC=B5=C4=C0=A9=D5=B9=A1=A3=CD=A8=B9=FD=B6=D4=CF=F3=CA=D3=CD=BC=A3=AC=
=D3=C3=BB=A7=BF=C9=D2=D4=B4=B4=BD=A8=D0=E9=C4=E2=B6=D4=CF=F3=B1=ED=A3=AC=D3=
=C3=D3=DA=B7=C3=CE=CA=CA=FD=BE=DD=BF=E2=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=B1=ED=
=BB=F2=B6=D4=CF=F3=B1=ED=D6=D0=B4=E6=B4=A2=B5=C4=CA=FD=BE=DD=A3=A8=CA=FD=BE=
=DD=BF=C9=D2=D4=CE=AA Oracle=20
      =
=C4=DA=D6=C3=CA=FD=BE=DD=C0=E0=D0=CD=A3=AC=D2=B2=BF=C9=D2=D4=CE=AA=D3=C3=BB=
=A7=B6=A8=D2=E5=C0=E0=D0=CD=A3=A9=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">122</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
views provide=20
      the ability to offer specialized or restricted access to the data =
and=20
      objects in a database. For example, you can use an object view to =
provide=20
      a version of an employee object table that does not have =
attributes=20
      containing sensitive data and does not have a deletion =
method.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=C0=FB=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC=A3=AC=BF=C9=D2=D4=B6=D4=
=CA=FD=BE=DD=BD=F8=D0=D0=D2=BB=B6=A8=B4=A6=C0=ED=A3=AC=BB=F2=CF=DE=D6=C6=D3=
=C3=BB=A7=B6=D4=CA=FD=BE=DD=BF=E2=C4=DA=B6=D4=CF=F3=BC=B0=CA=FD=BE=DD=B5=C4=
=B7=C3=CE=CA=A1=A3=C0=FD=C8=E7=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=B6=A8=D2=E5=B6=
=D4=CF=F3=CA=D3=CD=BC=A3=AC=B4=B4=BD=A8=D2=BB=B8=F6=BB=F9=D3=DA=D4=B1=B9=A4=
=B6=D4=CF=F3=B1=ED=B5=C4=D0=E9=C4=E2=B1=ED=A3=AC=C0=FB=D3=C3=CA=D3=CD=BC=D2=
=FE=B2=D8=B0=FC=BA=AC=C3=F4=B8=D0=D0=C5=CF=A2=B5=C4=B6=D4=CF=F3=CA=F4=D0=D4=
=A3=AC=B2=A2=D2=FE=B2=D8=C9=BE=B3=FD=B7=BD=B7=A8=A1=A3<BR>=A1=A1</TD></TR=
>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">123</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
views allow=20
      the use of relational data in object-oriented applications. They =
let=20
users:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Try object-oriented =
programming=20
        techniques without converting existing tables=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Convert data gradually and =
transparently=20
        from relational tables to object-relational tables=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Use legacy RDBMS data with =
existing=20
        object-oriented applications </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=CD=A8=B9=FD=B6=D4=CF=F3=CA=D3=CD=BC=A3=AC=D3=C3=BB=A7=BF=C9=
=D2=D4=D4=DA=C3=E6=CF=F2=B6=D4=CF=F3=B5=C4=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=CA=
=B9=D3=C3=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=A1=A3=D3=C3=BB=A7=BF=C9=D2=D4=CD=A8=
=B9=FD=B6=D4=CF=F3=CA=D3=CD=BC=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CA=B9=D3=C3=C3=E6=CF=F2=B6=D4=CF=F3=B5=C4=B1=E0=B3=CC=B7=BD=B7=A8=A3=
=AC=B6=F8=CE=DE=D0=E8=D7=AA=BB=BB=D2=D1=D3=D0=B5=C4=B9=D8=CF=B5=D0=CD=CA=FD=
=BE=DD=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=BD=A5=BD=F8=B5=D8=C7=D2=CD=B8=C3=F7=B5=D8=BD=AB=CA=FD=BE=DD=B4=D3=B9=
=D8=CF=B5=D0=CD=CA=FD=BE=DD=B1=ED=D6=D0=D7=AA=BB=BB=B5=BD=B6=D4=CF=F3=B9=D8=
=CF=B5=D0=CD=B1=ED=D6=D0=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D4=DA=C3=E6=CF=F2=B6=D4=CF=F3=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=CA=B9=D3=
=C3=C0=FA=CA=B7=D2=C5=C1=F4=B5=C4 RDBMS =CA=FD=BE=DD=20
</LI></UL></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">124</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.6.1></A>Advantages of Object Views</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.6.1></A>27.6.1 =
=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=D3=C5=CA=C6</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">125</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Using =
object views=20
      can lead to better performance. Relational data that make up a row =
of an=20
      object view traverse the network as a unit, potentially saving =
many <SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">round =
trip</SPAN>s.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=CA=B9=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC=C4=DC=B9=BB=BB=F1=B5=C3=
=B8=FC=BA=C3=B5=C4=D0=D4=C4=DC=A1=A3=B9=B9=B3=C9=B6=D4=CF=F3=CA=D3=CD=BC=CA=
=FD=BE=DD=D0=D0=B5=C4=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=D4=DA=CD=F8=C2=E7=D6=D0=
=CA=C7=D7=F7=CE=AA=D2=BB=B8=F6=D5=FB=CC=E5=B4=AB=CA=E4=B5=C4=A3=AC=D5=E2=BC=
=F5=C9=D9=C1=CB=B4=F3=C1=BF<SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=CD=F8=C2=E7=BD=BB=BB=A5=B9=A4=D7=F7</SPAN>[round =
trip]=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">126</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can fetch=20
      relational data into the client-side object cache and map it into =
C or C++=20
      structures so 3GL applications can manipulate it just like native=20
      structures.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=BD=AB=B9=D8=CF=B5=D0=CD=CA=FD=BE=DD=
=BC=D3=D4=D8=B5=BD=CE=BB=D3=DA=BF=CD=BB=A7=B6=CB=B5=C4=B6=D4=CF=F3=BB=BA=B4=
=E6[object=20
      cache]=D6=D0=A3=AC=D4=D9=BD=AB=C6=E4=D3=B3=C9=E4=CE=AA C =BB=F2 =
C++ =BD=E1=B9=B9=A3=AC=D5=E2=D1=F9=D2=D4 3GL =
=BF=AA=B7=A2=B5=C4=D3=A6=D3=C3=B3=CC=D0=F2=BF=C9=D2=D4=CF=F3=B2=D9=D7=F7=C6=
=E4=D4=AD=C9=FA=CA=FD=BE=DD=BD=E1=B9=B9=D2=BB=D1=F9=B2=D9=D7=F7=B9=D8=CF=B5=
=D0=CD=CA=FD=BE=DD=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">127</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
views provide=20
      a gradual upgrade path for legacy data. They provide for =
co-existence of=20
      relational and object-oriented applications, and they make it =
easier to=20
      introduce object-oriented applications to existing relational data =
without=20
      having to make a drastic change from one paradigm to =
another.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=C0=FB=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC=BF=C9=D2=D4=BD=A5=BD=F8=
=B5=D8=C9=FD=BC=B6=C0=FA=CA=B7=D2=C5=C1=F4=CA=FD=BE=DD=A1=A3=CD=A8=B9=FD=B6=
=D4=CF=F3=CA=D3=CD=BC=BF=C9=D2=D4=CA=B9=B9=D8=CF=B5=D0=CD=BC=B0=C3=E6=CF=F2=
=B6=D4=CF=F3=D3=A6=D3=C3=B3=CC=D0=F2=B9=B2=B4=E6=A3=AC=BF=AA=B7=A2=D5=DF=D2=
=B2=BF=C9=D2=D4=B8=FC=B1=E3=BD=DD=B5=D8=D4=DA=D2=D1=D3=D0=B5=C4=B9=D8=CF=B5=
=D0=CD=CA=FD=BE=DD=BB=F9=B4=A1=C9=CF=BF=AA=B7=A2=C3=E6=CF=F2=B6=D4=CF=F3 =

      =
=B5=C4=D3=A6=D3=C3=B3=CC=D0=F2=A3=AC=B6=F8=B2=BB=B1=D8=B6=D4=CA=FD=BE=DD=BD=
=E1=B9=B9=D7=F6=B4=F3=B5=C4=B8=C4=B6=AF=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">128</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Object =
views provide=20
      the flexibility of looking at the same relational or object data =
in more=20
      than one way. Thus you can use different in-memory object =
representations=20
      for different applications without changing the way you store the =
data in=20
      the database.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=C0=FB=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC=
=C1=E9=BB=EE=B5=D8=D2=D4=B6=E0=D6=D6=B7=BD=CA=BD=B2=E9=D1=AF=B9=D8=CF=B5=D0=
=CD=CA=FD=BE=DD=BB=F2=B6=D4=CF=F3=CA=FD=BE=DD=A1=A3=B2=BB=CD=AC=B5=C4=D3=A6=
=D3=C3=B3=CC=D0=F2=BF=C9=D2=D4=CA=B9=D3=C3=B2=BB=CD=AC=B5=C4=B6=D4=CF=F3=CA=
=D3=CD=BC=B7=C3=CE=CA=CA=FD=BE=DD=A3=AC=CA=FD=BE=DD=BF=E2=C4=DA=B5=C4=CA=FD=
=BE=DD=B4=E6=B4=A2=BD=E1=B9=B9=CE=DE=D0=E8=CB=E6=D7=C5=D3=A6=D3=C3=B3=CC=D0=
=F2=D0=DE=B8=C4=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">129</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/to=
c.htm">Oracle=20
          Database Administrator's Guide</A> for directions for defining =
object=20
          views=20
          <LI style=3D"MARGIN-BOTTOM: 10px">"<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.27.6.3"=20
          target=3D_self>Updates of Object Views</A>" for more =
information about=20
          writing an <FONT color=3D#0000ff>INSTEAD OF</FONT> trigger=20
      </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>=C1=ED=BC=FB=A3=BA</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/to=
c.htm">Oracle=20
          Database Administrator's Guide</A> =
=C1=CB=BD=E2=C8=E7=BA=CE=B6=A8=D2=E5=B6=D4=CF=F3=CA=D3=CD=BC=20
          <LI style=3D"MARGIN-BOTTOM: 10px">=A1=B0<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.27.6.3"=20
          =
target=3D_self>=CA=B9=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC</A>=A1=B1=C1=CB=BD=E2=
=B1=E0=D0=B4 <FONT color=3D#0000ff>INSTEAD OF</FONT>=20
          =B4=A5=B7=A2=C6=F7=B5=C4=CF=EA=CF=B8=D0=C5=CF=A2 =
</LI></UL></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">130</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.6.2></A>Use of Object Views</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.6.2></A>27.6.2 =
=CA=B9=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">131</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">Data =
in the rows of=20
      an object view can come from more than one table, but the object =
still=20
      traverses the network in one operation. When the instance is in =
the client=20
      side object cache, it appears to the programmer as a C or C++ =
structure or=20
      as a PL/SQL object variable. You can manipulate it like any other =
native=20
      structure.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B6=D4=CF=F3=CA=D3=CD=BC=D6=D0=B5=C4=D2=BB=D0=D0=CA=FD=BE=DD=
=BF=C9=C4=DC=C0=B4=D7=D4=B6=E0=B8=F6=B5=D7=B2=E3=B1=ED=A3=AC=B5=AB=D2=BB=D0=
=D0=CA=FD=BE=DD=D4=DA=CD=F8=C2=E7=D6=D0=CA=C7=D7=F7=CE=AA=D2=BB=B8=F6=D5=FB=
=CC=E5=B4=AB=CA=E4=A1=A3=B5=B1=B6=D4=CF=F3=CA=B5=C0=FD=B1=BB=B7=C5=C8=EB=BF=
=CD=BB=A7=B6=CB=B5=C4=B6=D4=CF=F3=BB=BA=B4=E6=BA=F3=A3=AC=BF=AA=B7=A2=D5=DF=
=BF=C9=D2=D4=BD=AB=C6=E4=D7=F7=CE=AA=20
      C/C++ =CA=FD=BE=DD=BD=E1=B9=B9=BB=F2 PL/SQL =
=B1=E4=C1=BF=CA=B9=D3=C3=A1=A3=BF=AA=B7=A2=D5=DF=BF=C9=D2=D4=BD=AB=B6=D4=CF=
=F3=BB=BA=B4=E6=D6=D0=B5=C4=B6=D4=CF=F3=D7=F7=CE=AA=C6=E4=CB=FB=D3=EF=D1=D4=
=B5=C4=D4=AD=C9=FA=CA=FD=BE=DD=BD=E1=B9=B9=CA=B9=D3=C3=A1=A3<BR>=A1=A1</T=
D></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">132</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can refer to=20
      object views in SQL statements the same way you refer to an object =
table.=20
      For example, object views can appear in a <FONT=20
      color=3D#0000ff>SELECT</FONT> list, in an <FONT =
color=3D#0000ff>UPDATE=20
      SET</FONT> clause, or in a <FONT color=3D#0000ff>WHERE</FONT> =
clause. You=20
      can also define object views on object views.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">=D3=C3=BB=A7=D4=DA SQL =
=D3=EF=BE=E4=D6=D0=CA=B9=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC=D3=EB=CA=B9=D3=C3=B6=
=D4=CF=F3=B1=ED=B5=C4=B7=BD=CA=BD=D2=BB=D1=F9=A1=A3=C0=FD=C8=E7=A3=AC=D4=DA=
=20
      <FONT color=3D#0000ff>SELECT</FONT> =C1=D0=B1=ED=A3=AC<FONT =
color=3D#0000ff>UPDATE SET</FONT>=20
      =D7=D3=BE=E4=A3=AC=BB=F2 <FONT color=3D#0000ff>WHERE</FONT>=20
      =
=D7=D3=BE=E4=D6=D0=BE=F9=BF=C9=D2=D4=CA=B9=D3=C3=B6=D4=CF=F3=CA=D3=CD=BC=A1=
=A3=D3=C3=BB=A7=BB=B9=BF=C9=D2=D4=D4=DA=D2=D1=D3=D0=B6=D4=CF=F3=CA=D3=CD=BC=
=D6=AE=C9=CF=B6=A8=D2=E5=D0=C2=B5=C4=B6=D4=CF=F3=CA=D3=CD=BC=A1=A3<BR>=A1=
=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">133</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can access=20
      object view data on the client side using the same OCI calls you =
use for=20
      objects from object tables. For example, you can use <FONT=20
      color=3D#0000ff>OCIObjectPin</FONT> for pinning a <FONT=20
      color=3D#0000ff>REF</FONT> and <FONT =
color=3D#0000ff>OCIObjectFlush</FONT> for=20
      flushing an object to the server. When you update or flush to the =
server=20
      an object in an object view, Oracle updates the object =
view.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=D4=DA=BF=CD=BB=A7=B6=CB=BF=C9=D2=D4=CA=B9=D3=C3=
=CF=E0=CD=AC=B5=C4 OCI=20
      =
=B5=F7=D3=C3=B7=C3=CE=CA=B6=D4=CF=F3=B1=ED=BC=B0=B6=D4=CF=F3=CA=D3=CD=BC=D6=
=D0=B5=C4=B6=D4=CF=F3=A1=A3=C0=FD=C8=E7=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=
=D3=C3 <FONT color=3D#0000ff>OCIObjectPin</FONT> =
=B6=A8=CE=BB=D2=BB=B8=F6=20
      <FONT color=3D#0000ff>REF</FONT>=A3=AC=BB=F2=CA=B9=D3=C3 <FONT=20
      color=3D#0000ff>OCIObjectFlush</FONT>=20
      =
=BD=AB=B6=D4=CF=F3=B4=AB=CA=E4=B5=BD=B7=FE=CE=F1=C6=F7=D6=D0=A1=A3=B5=B1=D3=
=C3=BB=A7=D4=DA=BF=CD=BB=A7=B6=CB=B8=FC=D0=C2=B6=D4=CF=F3=B2=A2=BD=AB=B6=D4=
=CF=F3=B4=AB=CA=E4=BB=D8=B7=FE=CE=F1=C6=F7=CA=B1=A3=ACOracle =
=BD=AB=B8=FC=D0=C2=CF=E0=B9=D8=B5=C4=B6=D4=CF=F3=CA=D3=CD=BC=A1=A3<BR>=A1=
=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">134</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14250/to=
c.htm">Oracle=20
        Call Interface Programmer's Guide</A> for more information about =
OCI=20
        calls</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14250/to=
c.htm">Oracle=20
        Call Interface Programmer's Guide</A> =
=C1=CB=BD=E2=B8=FC=B6=E0=B9=D8=D3=DA OCI =
=B5=F7=D3=C3=B5=C4=D0=C5=CF=A2</BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">135</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.6.3></A>Updates of Object Views</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.6.3></A>27.6.3 =
=B8=FC=D0=C2=B6=D4=CF=F3=CA=D3=CD=BC</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">136</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">You =
can update,=20
      insert, and delete the data in an object view using the same SQL =
DML you=20
      use for object tables. Oracle updates the base tables of the =
object view=20
      if there is no ambiguity.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=B6=D4=B6=D4=CF=F3=CA=D3=CD=BC=BD=F8=
=D0=D0=B2=E5=C8=EB=A3=AC=B8=FC=D0=C2=A3=AC=BC=B0=C9=BE=B3=FD=B2=D9=D7=F7=A3=
=AC=C9=CF=CA=F6=B2=D9=D7=F7=CA=B9=D3=C3=B5=C4 SQL=20
      DML =D3=EB=B2=D9=D7=F7=B6=D4=CF=F3=B1=ED=B5=C4 DML =
=CD=EA=C8=AB=CF=E0=CD=AC=A1=A3=C8=E7=B9=FB=B8=FC=D0=C2=D3=EF=BE=E4=B2=BB=B4=
=E6=D4=DA=C6=E7=D2=E5=A3=ACOracle =
=BD=AB=B8=FC=D0=C2=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=B5=D7=B2=E3=B1=ED=A1=A3<=
BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">137</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A view =
is not=20
      updatable if its view query contains joins, set operators, =
aggregate=20
      functions, <FONT color=3D#0000ff>GROUP BY</FONT>, or <FONT=20
      color=3D#0000ff>DISTINCT</FONT>. If a view query contains =
pseudocolumns or=20
      expressions, the corresponding view columns are not updatable. =
Object=20
      views often involve joins.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C8=E7=B9=FB=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=B6=A8=D2=E5=B2=E9=
=D1=AF=D6=D0=B0=FC=BA=AC=C1=AC=BD=D3=A3=AC=BC=AF=BA=CF=B2=D9=D7=F7=B7=FB=A3=
=AC=BE=DB=BA=CF=BA=AF=CA=FD=A3=AC<FONT=20
      color=3D#0000ff>GROUP BY</FONT>=A3=AC=BB=F2 <FONT=20
      =
color=3D#0000ff>DISTINCT</FONT>=A3=AC=C4=C7=C3=B4=B4=CB=CA=D3=CD=BC=CA=C7=
=B2=BB=BF=C9=B8=FC=D0=C2=B5=C4=A1=A3=C8=E7=B9=FB=B6=D4=CF=F3=CA=D3=CD=BC=B5=
=C4=B6=A8=D2=E5=B2=E9=D1=AF=D6=D0=B0=FC=BA=AC=D0=E9=C1=D0[pseudocolumn]=BB=
=F2=B1=ED=B4=EF=CA=BD=A3=AC=C4=C7=C3=B4=20
      =
=B6=D4=D3=A6=B5=C4=CA=D3=CD=BC=C1=D0=CA=C7=B2=BB=BF=C9=B8=FC=D0=C2=B5=C4=A1=
=A3=D0=E8=D2=AA=D7=A2=D2=E2=A3=AC=B6=D4=CF=F3=CA=D3=CD=BC=CD=A8=B3=A3=BB=E1=
=B0=FC=BA=AC=C1=AC=BD=D3=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">138</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">To =
overcome these=20
      obstacles Oracle provides <FONT color=3D#0000ff>INSTEAD OF</FONT> =
triggers.=20
      They are called <FONT color=3D#0000ff>INSTEAD OF</FONT> triggers =
because=20
      Oracle runs the trigger body instead of the actual DML =
statement.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=CE=AA=C1=CB=BD=E2=BE=F6=C9=CF=CA=F6=CE=CA=CC=E2=A3=ACOracl=
e =CC=E1=B9=A9=C1=CB <FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> =B4=A5=B7=A2=C6=F7=A1=A3<FONT =
color=3D#0000ff>INSTEAD OF</FONT>=20
      =B4=A5=B7=A2=C6=F7=B5=C3=C3=FB=D3=DA Oracle =
=D4=CB=D0=D0=B4=A5=B7=A2=C6=F7=B3=CC=D0=F2=B6=F8=B7=C7=CA=B5=BC=CA DML =
=D3=EF=BE=E4=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">139</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> triggers provide a transparent =
way to=20
      update object views or relational views. You write the same SQL =
DML (<FONT=20
      color=3D#0000ff>INSERT</FONT>, <FONT =
color=3D#0000ff>DELETE</FONT>, and <FONT=20
      color=3D#0000ff>UPDATE</FONT>) statements as for an object table. =
Oracle=20
      invokes the appropriate trigger instead of the SQL statement, and =
the=20
      actions specified in the trigger body take place.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><FONT =
color=3D#0000ff>INSTEAD=20
      OF</FONT> =
=B4=A5=B7=A2=C6=F7=CA=C7=D2=BB=D6=D6=CD=B8=C3=F7=B5=D8=B8=FC=D0=C2=B6=D4=CF=
=F3=CA=D3=CD=BC=BB=F2=B9=D8=CF=B5=D0=CD=CA=D3=CD=BC=B5=C4=B7=BD=B7=A8=A1=A3=
=D3=C3=BB=A7=BF=C9=D2=D4=B6=D4=B6=D4=CF=F3=CA=D3=CD=BC=D6=B4=D0=D0=D5=FD=B3=
=A3=B5=C4 SQL DML =D3=EF=BE=E4=A3=A8<FONT=20
      color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>DELETE</FONT>=A3=AC=BC=B0 <FONT=20
      color=3D#0000ff>UPDATE</FONT>=A3=A9=A3=AC=B6=F8 Oracle =
=BD=AB=B5=F7=D3=C3=CF=E0=D3=A6=B5=C4=B4=A5=B7=A2=C6=F7=CC=E6=B4=FA SQL=20
      =
=D3=EF=BE=E4=A3=AC=B4=A5=B7=A2=C6=F7=C4=DA=B5=C4=B3=CC=D0=F2=BD=AB=D6=B4=D0=
=D0=CA=B5=BC=CA=B5=C4=CA=FD=BE=DD=B8=FC=D0=C2=B9=A4=D7=F7=A1=A3<BR>=A1=A1=
</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">140</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> for a purchase order/line item example that uses =
an <FONT=20
          color=3D#0000ff>INSTEAD OF</FONT> trigger=20
          <LI style=3D"MARGIN-BOTTOM: 10px">Chapter 22, "<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm">Triggers</A>"=20
          </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>=C1=ED=BC=FB=A3=BA</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14260/to=
c.htm">Oracle=20
          Database Application Developer's Guide - Object-Relational=20
          Features</A> =B2=E9=BF=B4=CA=B9=D3=C3 <FONT =
color=3D#0000ff>INSTEAD OF</FONT> =
=B4=A5=B7=A2=C6=F7=B9=DC=C0=ED=B6=A9=B5=A5=BC=B0=B2=FA=C6=B7=B5=C4=CA=BE=C0=
=FD=20
          <LI style=3D"MARGIN-BOTTOM: 10px">=B5=DA 22 =
=D5=C2=A3=AC=A1=B0<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm">=B4=A5=B7=A2=C6=F7</A>=A1=B1=20
          </LI></UL></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">141</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.6.4></A>Updates of Nested Table Columns in =
Views</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.6.4></A>27.6.4 =
=B8=FC=D0=C2=CA=D3=CD=BC=D6=D0=B5=C4=C7=B6=CC=D7=B1=ED=C1=D0</H2></TD></T=
R>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">142</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">A =
nested table can=20
      be modified by inserting new elements and updating or deleting =
existing=20
      elements. <SPAN style=3D"BACKGROUND-COLOR: #ffff00">Nested table =
columns=20
      that are virtual or synthesized, as in a view, are not usually=20
      updatable.</SPAN> To overcome this, Oracle allows <FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> triggers to be created on these=20
      columns.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=C7=B6=CC=D7=B1=ED[nested=20
      =
table]=B5=C4=D0=DE=B8=C4=B0=FC=C0=A8=B2=E5=C8=EB=D0=C2=D4=AA=CB=D8=A3=AC=BC=
=B0=B8=FC=D0=C2=BB=F2=C9=BE=B3=FD=D2=D1=D3=D0=D4=AA=CB=D8=A1=A3<SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=C8=E7=B9=FB=C7=B6=CC=D7=B1=ED=C1=D0=D6=D0=B0=FC=BA=AC=D0=E9=C4=E2=
=BB=F2=B8=B4=BA=CF=CA=FD=BE=DD=A3=A8=C0=FD=C8=E7=CA=D3=CD=BC=D6=D0=B5=C4=CA=
=FD=BE=DD=A3=A9=A3=AC=C4=C7=C3=B4=D5=E2=D6=D6=C7=B6=CC=D7=B1=ED=C1=D0=CD=A8=
=B3=A3=CA=C7=B2=BB=BF=C9=B8=FC=D0=C2=B5=C4=A1=A3</SPAN>=CE=AA=C1=CB=BD=E2=
=BE=F6=D5=E2=D6=D6=CE=CA=CC=E2=A3=ACOracle=20
      =BF=C9=D2=D4=D4=DA=C7=B6=CC=D7=B1=ED=C1=D0=C9=CF=B4=B4=BD=A8 <FONT =
color=3D#0000ff>INSTEAD OF</FONT> =
=B4=A5=B7=A2=C6=F7=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">143</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">The =
<FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> trigger defined on a nested =
table column=20
      of a view is fired when the column is modified. If the entire =
collection=20
      is replaced by an update of the parent row, then the <FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> trigger on the nested table =
column is not=20
      fired.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=A8=D2=E5=D4=DA=CA=D3=CD=BC=B5=C4=C7=B6=CC=D7=B1=ED=C1=D0=
=C9=CF=B5=C4 <FONT=20
      color=3D#0000ff>INSTEAD OF</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=D4=DA=C1=D0=B1=BB=D0=DE=B8=C4=CA=B1=BD=AB=B1=BB=B4=A5=B7=
=A2=A1=A3=C8=E7=B9=FB=D4=DA=B8=FC=D0=C2=CA=D3=CD=BC=CA=FD=BE=DD=D0=D0=CA=B1=
=A3=AC=C7=B6=CC=D7=B1=ED=C1=D0=B1=A3=B4=E6=B5=C4=BC=AF=BA=CF=CA=FD=BE=DD=B1=
=BB=D5=FB=B8=F6=CC=E6=BB=BB=A3=AC=C4=C7=C3=B4=B4=CB=C1=D0=C9=CF=B5=C4 =
<FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> =
=B4=A5=B7=A2=C6=F7=B2=BB=BB=E1=B1=BB=B4=A5=B7=A2=A1=A3<BR>=A1=A1</TD></TR=
>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">144</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Fundamentals</A> for a =
purchase=20
        order/line item example that uses an <FONT =
color=3D#0000ff>INSTEAD=20
        OF</FONT> trigger on a nested table column</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR><A=20
        =
href=3D"http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/to=
c.htm">Oracle=20
        Database Application Developer's Guide - Fundamentals</A>=20
        =
=B2=E9=BF=B4=B6=A9=B5=A5/=B2=FA=C6=B7=CA=BE=C0=FD=A3=AC=C1=CB=BD=E2=C8=E7=
=BA=CE=D4=DA=C7=B6=CC=D7=B1=ED=C1=D0=C9=CF=CA=B9=D3=C3 <FONT =
color=3D#0000ff>INSTEAD OF</FONT>=20
      =B4=A5=B7=A2=C6=F7</BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">145</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <H2><A name=3De.27.6.5></A>View Hierarchies</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.27.6.5></A>27.6.5 =
=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=B4=CE=BD=E1=B9=B9</H2></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">146</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">An object view can be created =
as a=20
      subview of another object view. The type of the superview must be =
the=20
      immediate supertype of the type of the object view being created. =
Thus,=20
      you can build an object view hierarchy which has a one-to-one=20
      correspondence to the type hierarchy. This does not imply that =
every view=20
      hierarchy must span the entire corresponding type hierarchy. The =
view=20
      hierarchy can be rooted at any subtype of the type hierarchy. =
Furthermore,=20
      it does not have to encompass the entire =
subhierarchy.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=D3=C3=BB=A7=BF=C9=D2=D4=BB=F9=D3=DA=D2=D1=D3=D0=B6=D4=CF=F3=CA=D3=
=CD=BC[object=20
      =
view]=B4=B4=BD=A8=D0=C2=B5=C4=B6=D4=CF=F3=CA=D3=CD=BC=A3=A8=D7=D3=B6=D4=CF=
=F3=CA=D3=CD=BC[subview]=A3=A9=A1=A3=B3=AC=B6=D4=CF=F3=CA=D3=CD=BC[superv=
iew]=B5=C4=C0=E0=D0=CD=B1=D8=D0=EB=CA=C7=D7=D3=B6=D4=CF=F3=CA=D3=CD=BC=C0=
=E0=D0=CD=B5=C4=D6=B1=BD=D3=B3=AC=C0=E0[immediate=20
      =
supertype]=A1=A3=D2=B2=BE=CD=CA=C7=CB=B5=A3=AC=D3=C3=BB=A7=B9=B9=BD=A8=B5=
=C4=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=B4=CE=BD=E1=B9=B9=D3=EB=CF=E0=D3=A6=B5=C4=
=B6=D4=CF=F3=B2=E3=B4=CE=BD=E1=B9=B9=CA=C7=D2=BB=D2=BB=B6=D4=D3=A6=B5=C4=A1=
=A3=D5=E2=B2=A2=B2=BB=D2=E2=CE=B6=D7=C5=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=B4=CE=
=BD=E1=B9=B9=B1=D8=D0=EB=CD=EA=D5=FB=B8=B2=B8=C7=CF=E0=D3=A6=B5=C4=B6=D4=CF=
=F3=B2=E3=B4=CE=BD=E1=B9=B9=A1=A3=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=B4=CE=BD=E1=
=B9=B9=B5=C4=B8=F9=BD=DA=B5=E3=BF=C9=D2=D4=CA=C7=B6=D4=CF=F3=B2=E3=B4=CE=BD=
=E1=B9=B9=D6=D0=B5=C4=C8=CE=D2=E2=BD=DA=B5=E3=A1=A3=B4=CB=CD=E2=A3=AC=B6=D4=
=CF=F3=CA=D3=CD=BC=B2=E3=B4=CE=BD=E1=B9=B9=D2=B2=B2=BB=B1=D8=B8=B2=B8=C7=CF=
=E0=D3=A6=B5=C4=B6=D4=CF=F3=B2=E3=B4=CE=BD=E1=B9=B9=B5=C4=CD=EA=D5=FB=D7=D3=
=BD=E1=B9=B9=A1=A3</SPAN><BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">147</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#e.f.27.2"=20
      target=3D_self>Figure 27-2</A> illustrates multiple view=20
hierarchies.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/27.Object%20Datatypes%20and%20Object%20Views.htm#c.f.27.2"=20
      target=3D_self>=CD=BC 27-2</A> =
=CF=D4=CA=BE=C1=CB=D2=BB=B8=F6=B6=E0=D6=D8=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=B4=
=CE=BD=E1=B9=B9=A1=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">148</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"48%"><I><B><FONT=20
      size=3D2><A name=3De.f.27.2></A>Figure 27-2 Multiple View=20
      Hierarchies<BR>=A1=A1</FONT></B></I></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><I><B><FONT size=3D2><A=20
      name=3Dc.f.27.2></A>=CD=BC 27-2 =
=B6=E0=D6=D8=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=B4=CE=BD=E1=B9=B9<BR>=A1=A1</F=
ONT></B></I></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">149</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/e.cncpt149.gif"><IMG=20
      height=3D150=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
e.cncpt149.gif"=20
      width=3D183 border=3D0></A><BR>=A1=A1</P></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <P align=3Dcenter><IMG height=3D150=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
c.cncpt149.gif"=20
      width=3D183 border=3D0><BR>=A1=A1</P></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">150</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%">
      <BLOCKQUOTE><FONT size=3D2>Figure 27-2 shows two view hierarchies =
as=20
        inverted tree structures. They share only the top-level (root) =
node. VH1=20
        has one child that has one child. VH2 has two children, one of =
which has=20
        two children. The root node also has one child that is not =
included in=20
        either VH1 or VH2.</FONT></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><FONT size=3D2>=CD=BC 27-2 =
=CF=D4=CA=BE=C1=CB=C1=BD=BF=C3=B5=B9=D7=AA=B5=C4=B6=D4=CF=F3=C0=E0=D0=CD=B2=
=E3=B4=CE=BD=E1=B9=B9=CA=F7=A1=A3=C1=BD=BF=C3=CA=F7=D3=B5=D3=D0=B9=B2=CD=AC=
=B5=C4=B6=A5=B2=E3=BD=DA=B5=E3=A3=A8=B8=F9=BD=DA=B5=E3=A3=A9=A1=A3VH1=20
        =
=D3=D0=D2=BB=B8=F6=D7=D3=BD=DA=B5=E3=A3=AC=B4=CB=BD=DA=B5=E3=D3=D6=D3=D0=D2=
=BB=B8=F6=D7=D3=BD=DA=B5=E3=A1=A3VH2 =
=D3=D0=C1=BD=B8=F6=D7=D3=BD=DA=B5=E3=A3=AC=C6=E4=D6=D0=D2=BB=B8=F6=D7=D6=BD=
=DA=B5=E3=D2=B2=D3=D0=C1=BD=B8=F6=D7=D6=BD=DA=B5=E3=A1=A3=B8=F9=BD=DA=B5=E3=
=D3=D0=D2=BB=B8=F6=D7=D6=BD=DA=B5=E3=A3=AC=BC=C8=B2=BB=CA=F4=D3=DA =
VH1=A3=AC=D2=B2=B2=BB=CA=F4=D3=DA=20
        VH2=A1=A3</FONT></BLOCKQUOTE></TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">151</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">By default, the rows of an =
object view=20
      in a view hierarchy include all the rows of all its subviews =
(direct and=20
      indirect) projected over the columns of the given =
view.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=C4=AC=C8=CF=C7=E9=BF=F6=CF=C2=A3=AC=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=
=B4=CE=BD=E1=B9=B9=D6=D0=C4=B3=B8=F6=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=CA=FD=BE=
=DD=D0=D0=B0=FC=BA=AC=CF=E0=D3=A6=A3=A8=D6=B1=BD=D3=BB=F2=BC=E4=BD=D3=A3=A9=
=D7=D3=CA=D3=CD=BC=D3=B3=C9=E4=B5=BD=B4=CB=B6=D4=CF=F3=CA=D3=CD=BC=CA=FD=BE=
=DD=C1=D0=D6=D0=B5=C4=C8=AB=B2=BF=CA=FD=BE=DD=D0=D0=A1=A3</SPAN><BR>=A1=A1=
</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">152</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Only one object view can be =
created as a=20
      subview of a given view corresponding to the given subtype; that =
is, the=20
      same view cannot participate in many different view =
hierarchies.</SPAN> An=20
      object view can be created as a subview of only one superview; =
multiple=20
      inheritance is not supported.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=D7=D3=B6=D4=CF=F3=C0=E0=D0=CD=B5=C4=B6=D4=CF=F3=CA=D3=CD=BC=D6=BB=
=C4=DC=D3=B5=D3=D0=D2=BB=B8=F6=D7=D3=B6=D4=CF=F3=CA=D3=CD=BC=A3=AC=BC=B4=D2=
=BB=B8=F6=D7=D3=CA=D3=CD=BC=B2=BB=C4=DC=B4=E6=D4=DA=D3=DA=B2=BB=CD=AC=B5=C4=
=B6=D4=CF=F3=CA=D3=CD=BC=B2=E3=B4=CE=BD=E1=B9=B9=D6=D0=A1=A3</SPAN>=CD=AC=
=CA=B1=A3=AC=D2=BB=B8=F6=D7=D3=B6=D4=CF=F3=CA=D3=CD=BC=D6=BB=C4=DC=BC=CC=B3=
=D0=D7=D4=D2=BB=B8=F6=B3=AC=B6=D4=CF=F3=CA=D3=CD=BC=A1=A3Oracle=20
      =
=B2=BB=D6=A7=B3=D6=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=B6=E0=D6=D8=BC=CC=B3=D0=A1=
=A3<BR>=A1=A1</TD></TR>
  <TR>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft =
width=3D"4%">153</TD>
    <TD=20
    style=3D"BORDER-TOP-WIDTH: 1px; BORDER-RIGHT: 1px solid; =
BORDER-LEFT-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 1px"=20
    vAlign=3Dtop borderColor=3D#000000 align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">The subview inherits the =
object=20
      identifier from its superview and cannot be explicitly specified =
in any=20
      subview.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=D7=D3=B6=D4=CF=F3=CA=D3=CD=BC=BD=AB=BC=CC=B3=D0=C6=E4=B3=AC=B6=D4=
=CF=F3=CA=D3=CD=BC=B5=C4=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=A3=AC=D4=DA=D7=D3=B6=
=D4=CF=F3=CA=D3=CD=BC=D6=D0=B2=BB=C4=DC=CF=D4=CA=BD=B5=D8=CA=B9=D3=C3=C6=E4=
=B3=AC=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=B6=D4=CF=F3=B1=EA=CA=B6=B7=FB=A1=A3<=
BR>=A1=A1</SPAN></TD></TR></TBODY></TABLE><BR><B>A=20
=B7=AD=D2=EB=B2=BB=C8=B7=B6=A8=B5=C4=B4=CA=BB=E3[=B8=F1=CA=BD=A3=BA</B><S=
PAN style=3D"BACKGROUND-COLOR: =
#ffff00">=BB=C6=C9=AB=B1=B3=BE=B0</SPAN><B> ]=20
=A1=A1</B><BR>
<HR>

<TABLE id=3Dtable2 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop align=3Dleft>[004] published interfaces<BR>[125] =
round=20
  trip</TD></TR></TBODY></TABLE><B><BR>B =
=B7=AD=D2=EB=B2=BB=C8=B7=B6=A8=B5=C4Oracle/=CA=FD=BE=DD=BF=E2=B4=CA=BB=E3=
[=B8=F1=CA=BD=A3=BA</B><SPAN=20
style=3D"BACKGROUND-COLOR: #ffff00">=BB=C6=C9=AB=B1=B3=BE=B0</SPAN><B> =
]</B><BR>
<HR>

<TABLE id=3Dtable4 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop align=3Dleft>[077] empty collection<BR>[114]=20
  Indextype</TD></TR></TBODY></TABLE><B><BR>C =
=B7=AD=D2=EB=B2=BB=C8=B7=B6=A8=B5=C4=BE=E4=D7=D3[=B8=F1=CA=BD=A3=BA</B><S=
PAN=20
style=3D"BACKGROUND-COLOR: #ffff00">=BB=C6=C9=AB=B1=B3=BE=B0</SPAN><B> =
]</B><BR>
<HR>

<TABLE id=3Dtable5 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop align=3Dleft>[004] Metadata for user-defined types =
is stored=20
      in a schema available to SQL, PL/SQL, Java, and other published=20
      interfaces.<BR>[017] Oracle uses schema information about object =
types to=20
      achieve substantial transmission efficiencies. A client-side =
application=20
      can request a purchase order from the server and receive all the =
relevant=20
      data in a single transmission. The application can then, without =
knowing=20
      storage locations or implementation details, navigate among =
related data=20
      items without further transmissions from the server.<BR>[033] =
Every object=20
      type also has one implicitly defined method that is not tied to =
specific=20
      objects, the object type's constructor method.<BR>[047] Oracle =
lets you=20
      view this table in two ways:<BR>[068] Dereference REFs<BR>[142] =
Nested=20
      table columns that are virtual or synthesized, as in a view, are =
not=20
      usually updatable.<BR>[146] An object view can be created as a =
subview of=20
      another object view. The type of the superview must be the =
immediate=20
      supertype of the type of the object view being created. Thus, you =
can=20
      build an object view hierarchy which has a one-to-one =
correspondence to=20
      the type hierarchy. This does not imply that every view hierarchy =
must=20
      span the entire corresponding type hierarchy. The view hierarchy =
can be=20
      rooted at any subtype of the type hierarchy. Furthermore, it does =
not have=20
      to encompass the entire subhierarchy.<BR>[151] By default, the =
rows of an=20
      object view in a view hierarchy include all the rows of all its =
subviews=20
      (direct and indirect) projected over the columns of the given=20
      view.<BR>[153] The subview inherits the object identifier from its =

      superview and cannot be explicitly specified in any=20
subview.</TD></TR></TBODY></TABLE><B><BR>D =
=D7=A2=CA=CD=D0=D4=B5=C4=CE=C4=D7=D6[=B8=F1=CA=BD=A3=BA</B>[<FONT=20
color=3D#008000>=C2=CC=C9=AB</FONT>]<B>]</B><BR>
<HR>

<TABLE id=3Dtable6 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop =
align=3Dleft>=A1=A1</TD></TR></TBODY></TABLE><B><BR>E =
=CE=B4=CD=EA=B3=C9=B5=C4=C1=B4=BD=D3</B><BR>
<HR>

<TABLE id=3Dtable7 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop =
align=3Dleft>=A1=A1</TD></TR></TBODY></TABLE><B><BR>F=20
Oracle=D1=A7=CF=B0=CE=CA=CC=E2[=B8=F1=CA=BD=A3=BA</B><SPAN =
style=3D"BACKGROUND-COLOR: =
#ffff00">=BB=C6=C9=AB=B1=B3=BE=B0</SPAN><B>]</B>
<HR>
=20
<TABLE id=3Dtable8 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop align=3Dleft>1=A1=A2=A3=BF<BR>[152] Only one object =
view can be created=20
      as a subview of a given view corresponding to the given subtype; =
that is,=20
      the same view cannot participate in many different view=20
  hierarchies.</TD></TR></TBODY></TABLE><B><BR></B>translator: <A=20
href=3D"mailto:zw1840@hotmail.com">zw1840@hotmail.com</A> </BODY></HTML>

------=_NextPart_000_0000_01C7DBA3.BF08DDD0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/e.cncpt148.gif

R0lGODlhAAFfAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh
ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAAAAFfAAAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatyY8RvHjyBDihxJsuQrGABSgvhUsqXLlzBjXgSTsmZK
IO9k6tzJsyfIRzaDwjH4xyaUnC4//fHJtKlTgRCCBvVIsCiYPzShvAQC4KnXry9/SQ26tCqAXwKB
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

------=_NextPart_000_0000_01C7DBA3.BF08DDD0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/c.cncpt148.gif

R0lGODlhAAFfAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh
ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAAAAFfAAAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatyY8RvHjyBDihxJsuQrGABSgvhUsqXLlzBjXgSTsmZK
IO9k6tzJsyfIRzaDwjH4xyaUnC4//fHJtKlTgRCCBvVIsCiYPzShvAQC4KnXry9/SQ26tCqAXwKB
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

------=_NextPart_000_0000_01C7DBA3.BF08DDD0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/e.cncpt149.gif

R0lGODlhtwCWAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh
ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAAtwCWAAAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaJFiLIy8nrGDqE+dt2wicR2saTJkyhT/tMnrlvBkNiU3ZIV7yC7
jDhlFWR3S1m3miqDCh06sR61mcoSsvwnTlm9nU8R1lPGSyM1olizatX3LGOxcwqNzrwFVmK9bsCA
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
+ZmgGZrAERAAOw==

------=_NextPart_000_0000_01C7DBA3.BF08DDD0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/c.cncpt149.gif

R0lGODlhtwCWAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh
ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAAtwCWAAAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaJFiLIy8nrGDqE+dt2wicR2saTJkyhT/tMnrlvBkNiU3ZIV7yC7
jDhlFWR3S1m3miqDCh06sR61mcoSsvwnTlm9nU8R1lPGSyM1olizatX3LGOxcwqNzrwFVmK9bsCA
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
+ZmgGZrAERAAOw==

------=_NextPart_000_0000_01C7DBA3.BF08DDD0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/bk.jpg

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
AAAAAP/Z

------=_NextPart_000_0000_01C7DBA3.BF08DDD0--
