From: <ÓÉ Microsoft Internet Explorer 5 ±£´æ>
Subject: 22 Triggers
Date: Wed, 16 May 2007 14:11:40 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0031_01C797C4.1FB02450"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028

This is a multi-part message in MIME format.

------=_NextPart_000_0031_01C797C4.1FB02450
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: file://D:\Zhengwu\Oracle.Concept.10g.R2.Translation.Programe\Release.Version\22.Triggers.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>22 Triggers</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.3059" 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>22 Triggers</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%">This =
chapter=20
      discusses triggers, which are procedures stored in PL/SQL or Java =
that run=20
      (fire) implicitly whenever a table or view is modified or when =
some user=20
      actions or database system actions occur.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B1=BE=D5=C2=CC=D6=C2=DB=B4=A5=B7=A2=C6=F7[trigger]=A1=A3=B4=
=A5=B7=A2=C6=F7=CA=C7=D3=C9 PL/SQL =BB=F2 Java=20
      =
=B1=E0=D0=B4=B5=C4=B9=FD=B3=CC[procedure]=A3=AC=B5=B1=B1=ED=BB=F2=CA=D3=CD=
=BC=B1=BB=D0=DE=B8=C4=BB=F2=B7=A2=C9=FA=D3=C3=BB=A7=B2=D9=D7=F7[user =
action]=BB=F2=CA=FD=BE=DD=BF=E2=CF=B5=CD=B3=B2=D9=D7=F7[database system=20
      =
action]=CA=B1=B1=BB=B4=A5=B7=A2=D4=CB=D0=D0[fire]=A1=A3<BR>=A1=A1</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%">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/22.Triggers.htm#e.22.1"=20
        target=3D_self>Introduction to Triggers</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.2"=20
        target=3D_self>Parts of a Trigger</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.3"=20
        target=3D_self>Types of Triggers</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.4"=20
        target=3D_self>Trigger Execution</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/22.Triggers.htm#c.22.1"=20
        target=3D_self>=B4=A5=B7=A2=C6=F7=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/22.Triggers.htm#c.22.2"=20
        =
target=3D_self>=B4=A5=B7=A2=C6=F7=B5=C4=D7=E9=B3=C9=B2=BF=B7=D6</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.22.3"=20
        target=3D_self>=B4=A5=B7=A2=C6=F7=B5=C4=C0=E0=D0=CD</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.22.4"=20
        target=3D_self>=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0</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.22.1></A>Introduction to=20
      Triggers</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.22.1></A>22.1=20
    =B4=A5=B7=A2=C6=F7=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%">You =
can write=20
      triggers that fire whenever one of the following operations =
occurs:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">DML statements (<FONT=20
        color=3D#0000ff>INSERT</FONT>, <FONT =
color=3D#0000ff>UPDATE</FONT>, <FONT=20
        color=3D#0000ff>DELETE</FONT>) on a particular table or view, =
issued by=20
        any user=20
        <LI style=3D"MARGIN-BOTTOM: 10px">DDL statements (<FONT=20
        color=3D#0000ff>CREATE</FONT> or <FONT =
color=3D#0000ff>ALTER</FONT>=20
        primarily) issued either by a particular schema/user or by any=20
        schema/user in the database=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Database events, such as =
logon/logoff,=20
        errors, or startup/shutdown, also issued either by a particular=20
        schema/user or by any schema/user in the database =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=C9=E8=B6=A8=B5=B1=D2=D4=CF=C2=B2=D9=
=D7=F7=B7=A2=C9=FA=CA=B1=A3=AC=B4=A5=B7=A2=C6=F7[trigger]=B1=BB=B4=A5=B7=A2=
=D4=CB=D0=D0=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D3=C3=BB=A7=CC=E1=BD=BB=C1=CB=D5=EB=B6=D4=CC=D8=B6=A8=B1=ED=BB=F2=CA=
=D3=CD=BC=B5=C4 DML =D3=EF=BE=E4=A3=A8<FONT=20
        color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>UPDATE</FONT>=A3=AC<FONT=20
        color=3D#0000ff>DELETE</FONT>=A3=A9=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CC=D8=B6=A8=B5=C4=B7=BD=B0=B8[schema]/=D3=C3=BB=A7=BB=F2=CA=FD=BE=DD=
=BF=E2=C4=DA=C8=CE=D2=E2=B7=BD=B0=B8/=D3=C3=BB=A7=CC=E1=BD=BB=C1=CB DDL=20
        =D3=EF=BE=E4=A3=A8=D6=F7=D2=AA=D6=B8 <FONT =
color=3D#0000ff>CREATE</FONT> =BC=B0 <FONT=20
        color=3D#0000ff>ALTER</FONT>=A3=A9=20
        <LI=20
        style=3D"MARGIN-BOTTOM: =
10px">=CC=D8=B6=A8=B5=C4=B7=BD=B0=B8/=D3=C3=BB=A7=BB=F2=CA=FD=BE=DD=BF=E2=
=C4=DA=C8=CE=D2=E2=B7=BD=B0=B8/=D3=C3=BB=A7=CC=E1=BD=BB=B5=C4=CA=FD=BE=DD=
=BF=E2=CA=C2=BC=FE[event]=A3=AC=C0=FD=C8=E7=B5=C7=C2=BC/=CD=CB=B3=F6[logo=
n/logoff]=A3=AC=B4=ED=CE=F3[error]=A3=AC=BB=F2=C6=F4=B6=AF/=B9=D8=B1=D5[s=
tartup/shutdown]=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%">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%">Triggers are similar=20
      to stored procedures. A trigger stored in the database can include =
SQL and=20
      PL/SQL or Java statements to run as a unit and can invoke stored=20
      procedures. However, procedures and triggers differ in the way =
that they=20
      are invoked. A procedure is explicitly run by a user, application, =
or=20
      trigger. Triggers are implicitly fired by Oracle when a triggering =
event=20
      occurs, no matter which user is connected or which application is =
being=20
      used.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=A5=B7=A2=C6=F7=D3=EB=B4=E6=B4=A2=B9=FD=B3=CC[stored=20
      =
procedure]=C0=E0=CB=C6=A1=A3=CA=FD=BE=DD=BF=E2=B4=A5=B7=A2=C6=F7=C4=DA=BF=
=C9=D2=D4=B0=FC=BA=AC Java =D3=EF=BE=E4=A3=AC=BB=F2 SQL =
=D3=EF=BE=E4=BC=B0 PL/SQL=20
      =
=BD=E1=B9=B9=A3=AC=D2=B2=BF=C9=D2=D4=B5=F7=D3=C3=C6=E4=CB=FB=B4=E6=B4=A2=B9=
=FD=B3=CC=A1=A3=B4=A5=B7=A2=C6=F7=D3=EB=B4=E6=B4=A2=B9=FD=B3=CC=B5=C4=C7=F8=
=B1=F0=D4=DA=D3=DA=CB=FD=C3=C7=B5=C4=B5=F7=D3=C3=B7=BD=CA=BD=B2=BB=CD=AC=A1=
=A3=B4=E6=B4=A2=B9=FD=B3=CC=CA=C7=D3=C9=D3=C3=BB=A7=A3=AC=D3=A6=D3=C3=B3=CC=
=D0=F2=BB=F2=B4=A5=B7=A2=C6=F7=CF=D4=CA=BD=B5=D8=B5=F7=D3=C3=B5=C4=A1=A3=B6=
=F8=B4=A5=B7=A2=C6=F7=CA=C7=D4=DA=B4=A5=B7=A2=CA=C2=BC=FE[triggering=20
      event]=B7=A2=C9=FA=CA=B1=D3=C9 Oracle =
=D2=FE=CA=BD=B5=D8=B4=A5=B7=A2=B5=C4=A3=AC=B4=A5=B7=A2=C6=F7=B5=C4=D4=CB=D0=
=D0=D3=EB=C1=AC=BD=D3=B5=BD=CA=FD=BE=DD=BF=E2=B5=C4=D3=C3=BB=A7=BC=B0=D3=C3=
=BB=A7=CA=B9=D3=C3=B5=C4=CA=C7=BA=CE=D6=D6=D3=A6=D3=C3=B3=CC=D0=F2=CE=DE=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%">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%"><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.f.22.1"=20
      target=3D_self>Figure 22-1</A> shows a database application with =
some SQL=20
      statements that implicitly fire several triggers stored in the =
database.=20
      Notice that the database stores triggers separately from their =
associated=20
      tables.<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/22.Triggers.htm#c.f.22.1"=20
      target=3D_self>=CD=BC 22-1</A> =
=D5=B9=CA=BE=C1=CB=CA=FD=BE=DD=BF=E2=D3=A6=D3=C3=B3=CC=D0=F2=D6=D0=B5=C4 =
SQL=20
      =
=D3=EF=BE=E4=C4=DC=B9=BB=D2=FE=CA=BD=B5=D8=B4=A5=B7=A2=CA=FD=BE=DD=BF=E2=C4=
=DA=B4=E6=B4=A2=B5=C4=B4=A5=B7=A2=C6=F7=A1=A3=D7=A2=D2=E2=A3=AC=D4=DA=CA=FD=
=BE=DD=BF=E2=D6=D0=B4=A5=B7=A2=C6=F7=D3=EB=C6=E4=CF=E0=B9=D8=B1=ED=B5=C4=B4=
=E6=B4=A2=CE=BB=D6=C3=CA=C7=B2=BB=CD=AC=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%">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%"><I><B><FONT=20
      size=3D2><A name=3De.f.22.1></A>Figure 22-1 =
Triggers<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.22.1></A>=CD=BC 22-1 =
=B4=A5=B7=A2=C6=F7<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%">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%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/e.cncpt076.gif"><IMG=20
      height=3D266=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
e.cncpt076.gif"=20
      width=3D460 border=3D0></A><BR>=A1=A1</P></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/c.cncpt076.gif"><IMG=20
      height=3D266=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
c.cncpt076.gif"=20
      width=3D460 border=3D0></A><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%">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%">
      <BLOCKQUOTE><FONT size=3D2>Figure 22-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 22-1 =
=BD=AB=D4=DA=CF=C2=CE=C4=D6=D0=CB=B5=C3=F7=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%">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%">A =
trigger can also=20
      call out to a C procedure, which is useful for computationally =
intensive=20
      operations.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=B5=F7=D3=C3=CD=E2=B2=BF=B5=C4=
 C=20
      =
=D3=EF=D1=D4=B9=FD=B3=CC=A3=AC=B4=D3=B6=F8=B1=A3=D6=A4=BC=C6=CB=E3=C3=DC=BC=
=AF=D0=CD=B2=D9=D7=F7[computationally intensive =
operation]=B5=C4=D6=B4=D0=D0=D0=A7=C2=CA=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%">The =
events that fire=20
      a trigger include the following:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">DML statements that modify =
data in a=20
        table (<FONT color=3D#0000ff>INSERT</FONT>, <FONT=20
        color=3D#0000ff>UPDATE</FONT>, or <FONT =
color=3D#0000ff>DELETE</FONT>)=20
        <LI style=3D"MARGIN-BOTTOM: 10px">DDL statements=20
        <LI style=3D"MARGIN-BOTTOM: 10px">System events such as startup, =
shutdown,=20
        and error messages=20
        <LI style=3D"MARGIN-BOTTOM: 10px">User events such as logon and =
logoff=20
        </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C4=DC=B9=BB=B5=BC=D6=C2=B4=A5=B7=A2=C6=F7=B1=BB=B5=F7=D3=C3=
=B5=C4=CA=C2=BC=FE=B0=FC=C0=A8=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D0=DE=B8=C4=B1=ED=CA=FD=BE=DD=B5=C4 DML =D3=EF=BE=E4=A3=A8<FONT=20
        color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>UPDATE</FONT>=A3=AC=BB=F2 <FONT=20
        color=3D#0000ff>DELETE</FONT>=A3=A9=20
        <LI style=3D"MARGIN-BOTTOM: 10px">DDL =D3=EF=BE=E4=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C6=F4=B6=AF[startup]=A3=AC=B9=D8=B1=D5[shutdown]=BB=F2=B4=ED=CE=F3=
=CF=FB=CF=A2[error=20
        message]=B5=C8=CF=B5=CD=B3=CA=C2=BC=FE[system event]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=C7=C2=BC[logon]=BC=B0=CD=CB=B3=F6[logoff]=B5=C8=D3=C3=BB=A7=CA=C2=
=BC=FE[user event]=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%">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%">
      <BLOCKQUOTE><B>Note:</B><BR><BR>Oracle Forms can define, store, =
and run=20
        triggers of a different sort. However, do not confuse Oracle =
Forms=20
        triggers with the triggers discussed in this =
chapter.</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=CC=E1=CA=BE=A3=BA</B><BR><BR>=D4=DA Oracle Forms =
=D6=D0=D2=B2=BF=C9=D2=D4=B6=A8=D2=E5=A3=AC=B4=E6=B4=A2=A3=AC=BC=B0=D4=CB=D0=
=D0=B6=E0=D6=D6=B4=A5=B7=A2=C6=F7=A1=A3=B5=AB=B2=BB=D2=AA=BD=AB=20
        Oracle Form =
=B4=A5=B7=A2=C6=F7=D3=EB=B1=BE=D5=C2=BD=B2=CA=F6=B5=C4=CA=FD=BE=DD=BF=E2=B4=
=A5=B7=A2=C6=F7=CF=E0=BB=EC=CF=FD=A1=A3</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%">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%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">Chapter 24, "<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/a">SQL,=20
          PL/SQL, and Java</A>" for information on the similarities of =
triggers=20
          to stored procedures=20
          <LI style=3D"MARGIN-BOTTOM: 10px">"<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.2.1"=20
          target=3D_self>The Triggering Event or Statement</A>"=20
    </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%"><B>=C1=ED=BC=FB=A3=BA</B>
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">=B5=DA 24 =D5=C2=A3=AC=A1=B0<A =

        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/a">SQL,=20
        PL/SQL, and =
Java</A>=A1=B1=C1=CB=BD=E2=B4=A5=B7=A2=C6=F7=D3=EB=B4=E6=B4=A2=B9=FD=B3=CC=
=BC=E4=B5=C4=CF=E0=CB=C6=D0=D4=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/22.Triggers.htm#c.22.2.1"=20
        =
target=3D_self>=B4=A5=B7=A2=CA=C2=BC=FE=D3=EB=B4=A5=B7=A2=D3=EF=BE=E4</A>=
=A1=B1 </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%">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%">
      <H2><A name=3De.22.1.1></A>How Triggers Are Used</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.1.1></A>22.1.1 =
=C8=E7=BA=CE=D4=CB=D3=C3=B4=A5=B7=A2=C6=F7</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%">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%">Triggers supplement=20
      the standard capabilities of Oracle to provide a highly customized =

      database management system. For example, a trigger can restrict =
DML=20
      operations against a table to those issued during regular business =
hours.=20
      You can also use triggers to:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Automatically generate <SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">derived column value</SPAN>s =

        <LI style=3D"MARGIN-BOTTOM: 10px">Prevent invalid transactions=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Enforce complex security =
authorizations=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Enforce referential integrity =
across=20
        nodes in a distributed database=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Enforce complex business rules =

        <LI style=3D"MARGIN-BOTTOM: 10px">Provide transparent event =
logging=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Provide auditing=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Maintain <SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">synchronous table =
replicates</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Gather statistics on table =
access=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Modify table data when DML =
statements=20
        are issued against views=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Publish information about =
database=20
        events, user events, and SQL statements to <SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">subscribing =
applications</SPAN>=20
      </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=A5=B7=A2=C6=F7[trigger]=CA=C7 Oracle=20
      =
=CA=FD=BE=DD=BF=E2=CC=E1=B9=A9=B5=C4=B1=EA=D7=BC=B9=A6=C4=DC=A3=AC=D3=C3=BB=
=A7=BF=C9=D2=D4=CD=A8=B9=FD=B4=A5=B7=A2=C6=F7=CA=B5=CF=D6=B8=DF=B6=C8=D7=D4=
=B6=A8=D2=E5=B5=C4[highly=20
      =
customized]=CA=FD=BE=DD=BF=E2=B9=DC=C0=ED=CF=B5=CD=B3=A1=A3=C0=FD=C8=E7=A3=
=AC=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3=B4=A5=B7=A2=C6=F7=D7=E8=D6=B9=D4=DA=
=D5=FD=B3=A3=B9=A4=D7=F7=CA=B1=BC=E4=B6=D4=D6=B8=B6=A8=B5=C4=B1=ED=D6=B4=D0=
=D0 DML =
=B2=D9=D7=F7=A1=A3=D3=C3=BB=A7=BB=B9=BF=C9=D2=D4=CA=B9=D3=C3=B4=A5=B7=A2=C6=
=F7=CD=EA=B3=C9=D2=D4=CF=C2=B9=A4=D7=F7=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D7=D4=B6=AF=B5=D8=BC=C6=CB=E3<SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=C5=C9=C9=FA=C1=D0=D6=B5</SPAN>[derived column value]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B7=C0=D6=B9=CE=DE=D0=A7=B5=C4=CA=C2=CE=F1[invalid =
transaction]=C6=C6=BB=B5=CA=FD=BE=DD=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C7=BF=D6=C6=CA=B5=CF=D6=B8=B4=D4=D3=B5=C4=B0=B2=C8=AB=CA=DA=C8=A8[=
complex security=20
        authorization]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D4=DA=B7=D6=B2=BC=CA=BD=CA=FD=BE=DD=BF=E2[distributed=20
        =
database]=B5=C4=B2=BB=CD=AC=BD=DA=B5=E3[node]=C9=CF=C7=BF=D6=C6=CA=B5=CF=D6=
=D2=FD=D3=C3=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8[referential integrity]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C7=BF=D6=C6=CA=B5=CF=D6=B8=B4=D4=D3=B5=C4=D2=B5=CE=F1=B9=E6=D4=F2[=
complex business rule]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CA=B5=CF=D6=CD=B8=C3=F7=CA=C2=BC=FE=C8=D5=D6=BE[transparent event =
logging]=B9=A6=C4=DC=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CA=B5=CF=D6=C9=F3=BC=C6[auditing]=B9=A6=C4=DC=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=CA=B5=CF=D6<SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=CD=AC=B2=BD=B1=ED=B8=B4=D6=C6</SPAN>[synchronous table=20
        replicate]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CA=D5=BC=AF=CA=FD=BE=DD=B1=ED=B7=C3=CE=CA=B5=C4=CD=B3=BC=C6=D0=C5=CF=
=A2=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=B1=D3=C3=BB=A7=B6=D4=CA=D3=CD=BC=D6=B4=D0=D0 DML =
=B2=D9=D7=F7=CA=B1=D0=DE=B8=C4=CF=E0=B9=D8=B5=C4=B1=ED=CA=FD=BE=DD=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=CE=AA<SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=B6=A9=D4=C4[subscribing]=C1=CB=CA=C2=BC=FE=B5=C4=D3=A6=D3=C3=B3=
=CC=D0=F2</SPAN>=B7=A2=B2=BC[publish]=B9=D8=D3=DA=CA=FD=BE=DD=BF=E2=CA=C2=
=BC=FE[database=20
        event]=A3=AC=D3=C3=BB=A7=CA=C2=BC=FE[user event]=BB=F2 SQL =
=D3=EF=BE=E4=B5=C4=D0=C5=CF=A2=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%">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%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
        Database Application Developer's Guide - Fundamentals</A> for =
examples=20
        of trigger uses</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-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
        Database Application Developer's Guide - Fundamentals</A>=20
      =
=B2=E9=D5=D2=CA=B9=D3=C3=B4=A5=B7=A2=C6=F7=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%">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%">
      <H3><A name=3De.22.1.1.1></A>Some Cautionary Notes about =
Triggers</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.1.1.1></A>22.1.1.1 =
=CA=B9=D3=C3=B4=A5=B7=A2=C6=F7=B5=C4=D7=A2=D2=E2=CA=C2=CF=EE</H3></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%">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%">Although triggers=20
      are useful for customizing a database, use them only when =
necessary.=20
      Excessive use of triggers can result in complex interdependencies, =
which=20
      can be difficult to maintain in a large application. For example, =
when a=20
      trigger fires, a SQL statement within its trigger action =
potentially can=20
      fire other triggers, resulting in <B>cascading triggers</B>. This =
can=20
      produce unintended effects. <A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.f.22.2"=20
      target=3D_self>Figure 22-2</A> illustrates cascading =
triggers.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=BE=A1=B9=DC=D3=C3=BB=A7=BF=C9=D2=D4=CD=A8=B9=FD=B4=A5=B7=A2=
=C6=F7[trigger]=CA=B5=CF=D6=D7=D4=B6=A8=D2=E5=B5=C4[customized]=CA=FD=BE=DD=
=BF=E2=B9=DC=C0=ED=CF=B5=CD=B3=A3=AC=B5=AB=D3=A6=D4=DA=B1=D8=D2=AA=CA=B1=B2=
=C5=CA=B9=D3=C3=B4=A5=B7=A2=C6=F7=A1=A3=B9=FD=B6=C8=B5=C4=CA=B9=D3=C3=B4=A5=
=B7=A2=C6=F7=BD=AB=B5=BC=D6=C2=CF=B5=CD=B3=C4=DA=B4=E6=D4=DA=B9=FD=D3=DA=B8=
=B4=D4=D3=B5=C4=D2=C0=C0=B5=D0=D4[interdependency]=A3=AC=B4=D3=B6=F8=CA=B9=
=B4=F3=D0=CD=D3=A6=D3=C3=CF=B5=CD=B3=B1=E4=B5=C3=C4=D1=D2=D4=CE=AC=BB=A4=A1=
=A3=C0=FD=C8=E7=A3=AC=B5=B1=D2=BB=B8=F6=B4=A5=B7=A2=C6=F7=B1=BB=B4=A5=B7=A2=
=CA=B1=A3=AC=C6=E4=D6=D0=B5=C4=20
      SQL =
=D3=EF=BE=E4=D3=D0=BF=C9=C4=DC=B4=A5=B7=A2=C6=E4=CB=FB=B4=A5=B7=A2=C6=F7=A3=
=AC=B4=D3=B6=F8=D2=FD=C6=F0<B>=C1=AC=CB=F8=B4=A5=B7=A2</B>[cascading =
trigger]=A1=A3=D5=E2=D3=D0=BF=C9=C4=DC=D4=EC=B3=C9=B2=BB=BF=C9=D4=A4=C1=CF=
=B5=C4=D0=A7=B9=FB=A1=A3<A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.f.22.2"=20
      target=3D_self>=CD=BC 22-2</A> =
=CA=C7=D2=BB=B8=F6=C1=AC=CB=F8=B4=A5=B7=A2=B5=C4=CA=BE=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%">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%"><I><B><FONT=20
      size=3D2><A name=3De.f.22.2></A>Figure 22-2 Cascading=20
      Triggers<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.22.2></A>=CD=BC 22-2 =
=C1=AC=CB=F8=B4=A5=B7=A2<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%">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%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/e.cncpt077.gif"><IMG=20
      height=3D360=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
e.cncpt077.gif"=20
      width=3D460 border=3D0></A><BR>=A1=A1</P></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/c.cncpt077.gif"><IMG=20
      height=3D360=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
c.cncpt077.gif"=20
      width=3D460 border=3D0></A><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%">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%">
      <BLOCKQUOTE><FONT size=3D2>Figure 22-2 shows cascading triggers. =
One SQL=20
        statement fires the UPDATE_T1 trigger, which fires the INSERT_T2 =

        trigger, and so on.</FONT></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><FONT size=3D2>=CD=BC 22-2 =
=CA=C7=D2=BB=B8=F6=C1=AC=CB=F8=B4=A5=B7=A2=B5=C4=CA=BE=C0=FD=A1=A3=CA=D7=CF=
=C8=A3=ACSQL =D3=EF=BE=E4=B4=A5=B7=A2=C1=CB=B4=A5=B7=A2=C6=F7=20
        UPDATE_T1=A3=AC=BD=F8=B6=F8=B5=BC=D6=C2=B4=A5=B7=A2=C6=F7 =
INSERT_T2 =B1=BB=B4=A5=B7=A2=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%">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%">
      <H3><A name=3De.22.1.1.2></A>Triggers Compared with Declarative =
Integrity=20
      Constraints</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.1.1.2></A>22.1.1.2 =
=CA=B9=D3=C3=B4=A5=B7=A2=C6=F7=D3=EB=C9=F9=C3=F7=CD=EA=D5=FB=D0=D4=D4=BC=CA=
=F8=B5=C4=B1=C8=BD=CF</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%">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%">You =
can use both=20
      triggers and integrity constraints to define and enforce any type =
of=20
      integrity rule. However, Oracle strongly recommends that you use =
triggers=20
      to constrain data input only in the following situations:=20
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">To enforce referential =
integrity when=20
        child and parent tables are on different nodes of a distributed =
database=20

        <LI style=3D"MARGIN-BOTTOM: 10px">To enforce complex business =
rules not=20
        definable using integrity constraints=20
        <LI style=3D"MARGIN-BOTTOM: 10px">When a required referential =
integrity=20
        rule cannot be enforced using the following integrity =
constraints: <BR>=A1=A1
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>NOT =
NULL</FONT>,=20
          <FONT color=3D#0000ff>UNIQUE</FONT>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>PRIMARY KEY</FONT>=20

          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>FOREIGN KEY</FONT>=20

          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>CHECK</FONT>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>DELETE =

          CASCADE</FONT>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>DELETE =
SET=20
          NULL</FONT> </LI></UL></LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3=B4=A5=B7=A2=C6=F7[trig=
ger]=BB=F2=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8[integrity=20
      =
constraint]=C0=B4=B6=A8=D2=E5=B2=A2=C7=BF=D6=C6=CA=B5=CF=D6=B8=F7=C0=E0=CD=
=EA=D5=FB=D0=D4=D4=BC=CA=F8=B9=E6=D4=F2[integrity =
rule]=A1=A3=B5=AB=CA=C7=A3=ACOracle=20
      =
=C7=BF=C1=D2=BD=A8=D2=E9=D3=C3=BB=A7=D6=BB=D4=DA=D2=D4=CF=C2=C7=E9=BF=F6=CA=
=B9=D3=C3=B4=A5=B7=A2=C6=F7=C0=B4=D4=BC=CA=F8=CA=FD=BE=DD=CA=E4=C8=EB=A3=BA=
=20
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D0=E8=D2=AA=C7=BF=D6=C6=CA=B5=CF=D6=D2=FD=D3=C3=CD=EA=D5=FB=D0=D4[=
referential=20
        integrity]=B5=C4=D7=D3=B1=ED[child =
table]=BC=B0=B8=B8=B1=ED[parent =
table]=CE=BB=D3=DA=B7=D6=B2=BC=CA=BD=CA=FD=BE=DD=BF=E2[distributed=20
        database]=B5=C4=B2=BB=CD=AC=BD=DA=B5=E3[node]=C9=CF=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C7=BF=D6=C6=CA=B5=CF=D6=CE=DE=B7=A8=CD=A8=B9=FD=CD=EA=D5=FB=D0=D4=D4=
=BC=CA=F8=B6=A8=D2=E5=B5=C4=B8=B4=D4=D3=D2=B5=CE=F1=B9=E6=D4=F2[complex =
business=20
        rule]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=B1=D2=BB=B8=F6=D2=FD=D3=C3=CD=EA=D5=FB=D0=D4=B9=E6=D4=F2=CE=DE=B7=
=A8=CD=A8=B9=FD=D2=D4=CF=C2=D4=BC=CA=F8=BC=B0=D4=BC=CA=F8=B2=D9=D7=F7=CA=B5=
=CF=D6=CA=B1=A3=BA <BR>=A1=A1
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>NOT=20
          NULL</FONT>=A3=AC<FONT color=3D#0000ff>UNIQUE</FONT>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>PRIMARY KEY</FONT>=20

          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>FOREIGN KEY</FONT>=20

          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>CHECK</FONT>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>DELETE =

          CASCADE</FONT>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>DELETE =
SET=20
          NULL</FONT> </LI></UL></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%">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%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR>"<A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/21.Data%20Integrity.htm#e.21.1.2">How=20
        Oracle Enforces Data Integrity</A>" for more information about =
integrity=20
        constraints</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/21.Data%20Integrity.htm#c.21.1.2">Oracle=20
        =
=C8=E7=BA=CE=C7=BF=D6=C6=CA=B5=CF=D6=CA=FD=BE=DD=CD=EA=D5=FB=D0=D4</A>=A1=
=B1=C1=CB=BD=E2=B9=D8=D3=DA=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=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%">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%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3De.22.2></A>Parts of =
a=20
      Trigger</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.22.2></A>22.2=20
      =
=B4=A5=B7=A2=C6=F7=B5=C4=D7=E9=B3=C9=B2=BF=B7=D6</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%">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%">A =
trigger has three=20
      basic parts:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">A triggering event or =
statement=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A <SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">trigger restriction</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A trigger action =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D2=BB=B8=F6=B4=A5=B7=A2=C6=F7[trigger]=B0=FC=BA=AC 3 =
=B8=F6=BB=F9=B1=BE=D7=E9=B3=C9=B2=BF=B7=D6=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B4=A5=B7=A2=CA=C2=BC=FE[triggering =
event]=BB=F2=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
        statement]=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=B4=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE</SPAN>[trigger =
restriction]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B4=A5=B7=A2=B2=D9=D7=F7[trigger action] </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%">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%"><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.f.22.3"=20
      target=3D_self>Figure 22-3</A> represents each of these parts of a =
trigger=20
      and is not meant to show exact syntax. The sections that follow =
explain=20
      each part of a trigger in greater detail.<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/22.Triggers.htm#c.f.22.3"=20
      target=3D_self>=CD=BC 22-3</A>=20
    =
=D5=B9=CA=BE=C1=CB=B4=A5=B7=A2=C6=F7=B5=C4=B8=F7=B8=F6=D7=E9=B3=C9=B2=BF=B7=
=D6[=CD=BC=D6=D0=D3=EF=B7=A8=B2=A2=B2=BB=CD=EA=C8=AB=D7=BC=C8=B7]=A1=A3=D2=
=D4=CF=C2=B8=F7=BD=DA=BD=AB=B6=D4=B8=F7=B8=F6=D7=E9=B3=C9=B2=BF=B7=D6=BD=F8=
=D0=D0=CF=EA=CF=B8=BD=E9=C9=DC=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%">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%"><I><B><FONT=20
      size=3D2><A name=3De.f.22.3></A>Figure 22-3 The REORDER=20
      Trigger<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.22.3></A>=CD=BC 22-3 =B4=A5=B7=A2=C6=F7 =
REORDER<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%">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%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/e.cncpt078.gif"><IMG=20
      height=3D276=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
e.cncpt078.gif"=20
      width=3D460 border=3D0></A><BR>=A1=A1</P></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <P align=3Dcenter><A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img=
/c.cncpt078.gif"><IMG=20
      height=3D276=20
      =
src=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/=
c.cncpt078.gif"=20
      width=3D460 border=3D0></A><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%">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%">
      <BLOCKQUOTE><FONT size=3D2>Figure 22-3 shows the parts of a =
REORDER=20
        trigger. In the top box is the triggering statement. Under that =
is the=20
        trigger restriction, and under that is the triggered=20
      action.</FONT></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><FONT size=3D2>=CD=BC 22-3 =
=CF=D4=CA=BE=C1=CB=B4=A5=B7=A2=C6=F7 REORDER=20
        =
=B5=C4=B8=F7=B8=F6=D7=E9=B3=C9=B2=BF=B7=D6=A1=A3=CD=BC=B5=C4=D7=EE=C9=CF=B6=
=CB=CA=C7=B4=A5=B7=A2=D3=EF=BE=E4=A1=A3=C6=E4=CF=C2=CE=AA=B4=A5=B7=A2=CF=DE=
=D6=C6=CC=F5=BC=FE=A1=A3=D7=EE=CF=C2=CE=AA=B4=A5=B7=A2=B2=D9=D7=F7=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%">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%">
      <H2><A name=3De.22.2.1></A>The Triggering Event or =
Statement</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.2.1></A>22.2.1 =
=B4=A5=B7=A2=CA=C2=BC=FE=D3=EB=B4=A5=B7=A2=D3=EF=BE=E4</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%">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%">A =
triggering event=20
      or statement is the SQL statement, database event, or user event =
that=20
      causes a trigger to fire. A triggering event can be one or more of =
the=20
      following:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">An <FONT =
color=3D#0000ff>INSERT</FONT>,=20
        <FONT color=3D#0000ff>UPDATE</FONT>, or <FONT =
color=3D#0000ff>DELETE</FONT>=20
        statement on a specific table (or view, in some cases)=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A <FONT =
color=3D#0000ff>CREATE</FONT>,=20
        <FONT color=3D#0000ff>ALTER</FONT>, or <FONT =
color=3D#0000ff>DROP</FONT>=20
        statement on any schema object=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A database startup or instance =
shutdown=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A specific error message or =
any error=20
        message=20
        <LI style=3D"MARGIN-BOTTOM: 10px">A user logon or logoff =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
      statement]=BC=B0=B4=A5=B7=A2=CA=C2=BC=FE[triggering =
event]=D6=B8=B5=BC=D6=C2=B4=A5=B7=A2=C6=F7=B1=BB=B4=A5=B7=A2=B5=C4 SQL =
=D3=EF=BE=E4=A3=AC=BC=B0=CA=FD=BE=DD=BF=E2=CA=C2=BC=FE[database=20
      event]=BB=F2=D3=C3=BB=A7=CA=C2=BC=FE[user =
event]=A1=A3=B4=A5=B7=A2=CA=C2=BC=FE=BC=B0=B4=A5=B7=A2=D3=EF=BE=E4=BF=C9=D2=
=D4=CA=C7=D2=D4=CF=C2=C7=E9=BF=F6=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D5=EB=B6=D4=CC=D8=B6=A8=B1=ED=A3=A8=D4=DA=C4=B3=D0=A9=C7=E9=BF=F6=CF=
=C2=BB=B9=BF=C9=D2=D4=D5=EB=B6=D4=CA=D3=CD=BC=A3=A9=D6=B4=D0=D0=B5=C4 =
<FONT=20
        color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>UPDATE</FONT>=A3=AC=BB=F2 <FONT=20
        color=3D#0000ff>DELETE</FONT> =D3=EF=BE=E4=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D5=EB=B6=D4=C8=CE=D2=E2=B7=BD=B0=B8=B6=D4=CF=F3=D6=B4=D0=D0=B5=C4 =
<FONT=20
        color=3D#0000ff>CREATE</FONT>=A3=AC<FONT =
color=3D#0000ff>ALTER</FONT>=A3=AC=BB=F2 <FONT=20
        color=3D#0000ff>DROP</FONT> =D3=EF=BE=E4=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CA=FD=BE=DD=BF=E2=CA=B5=C0=FD=B5=C4=C6=F4=B6=AF[startup]=BC=B0=B9=D8=
=B1=D5[shutdown]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D6=B8=B6=A8=B5=C4=B4=ED=CE=F3=CF=FB=CF=A2[error =
message]=BB=F2=C8=CE=D2=E2=B4=ED=CE=F3=CF=FB=CF=A2=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D3=C3=BB=A7=B5=C7=C2=BC[logon]=BB=F2=CD=CB=B3=F6[logoff] =
</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%">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%">For =
example, in <A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.f.22.3"=20
      target=3D_self>Figure 22-3</A>, the triggering statement =
is:<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">=C0=FD=C8=E7=A3=AC=D4=DA =
<A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.f.22.3"=20
      target=3D_self>=CD=BC 22-3</A> =
=D6=D0=B4=A5=B7=A2=D3=EF=BE=E4=CE=AA=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%">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%">
      <BLOCKQUOTE>... UPDATE OF parts_on_hand ON inventory =
...</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>... UPDATE OF parts_on_hand ON inventory=20
...</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%">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%">This =
statement means=20
      that when the <FONT color=3D#0000ff>parts_on_hand</FONT> column of =
a row in=20
      the <FONT color=3D#0000ff>inventory</FONT> table is updated, fire =
the=20
      trigger. When the triggering event is an <FONT =
color=3D#0000ff>UPDATE</FONT>=20
      statement, you can include a column list to identify which columns =
must be=20
      updated to fire the trigger. You cannot specify a column list for =
<FONT=20
      color=3D#0000ff>INSERT</FONT> and <FONT =
color=3D#0000ff>DELETE</FONT>=20
      statements, because they affect entire rows of =
information.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=CB=D3=EF=BE=E4=B1=ED=CA=BE=A3=AC=B5=B1 <FONT=20
      color=3D#0000ff>inventory</FONT> =
=B1=ED=C4=DA=CA=FD=BE=DD=D0=D0=B5=C4 <FONT=20
      color=3D#0000ff>parts_on_hand</FONT> =
=C1=D0=B1=BB=B8=FC=D0=C2=CA=B1=B4=A5=B7=A2=C6=F7=BD=AB=B1=BB=B4=A5=B7=A2=A1=
=A3=C8=E7=B9=FB=B4=A5=B7=A2=CA=C2=BC=FE=CA=C7 <FONT=20
      color=3D#0000ff>UPDATE</FONT>=20
      =
=D3=EF=BE=E4=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=D4=DA=B4=A5=B7=A2=C6=F7=B6=A8=D2=
=E5=D6=D0=B0=FC=BA=AC=D2=BB=B8=F6=CA=FD=BE=DD=C1=D0=C1=D0=B1=ED=A3=AC=B9=E6=
=B6=A8=D6=BB=D3=D0=D4=DA=C1=D0=B1=ED=D6=D0=B5=C4=C1=D0=B1=BB=B8=FC=D0=C2=CA=
=B1=B4=A5=B7=A2=C6=F7=B2=C5=B1=BB=B4=A5=B7=A2=A1=A3=D3=C3=BB=A7=CE=DE=B7=A8=
=CE=AA <FONT=20
      color=3D#0000ff>INSERT</FONT> =BC=B0 <FONT =
color=3D#0000ff>DELETE</FONT>=20
      =
=D3=EF=BE=E4=B5=C4=B4=A5=B7=A2=CA=C2=BC=FE=C9=E8=B6=A8=CA=FD=BE=DD=C1=D0=C1=
=D0=B1=ED=A3=AC=D2=F2=CE=AA=D5=E2=C1=BD=D6=D6=D3=EF=BE=E4=BB=E1=B6=D4=D5=FB=
=B8=F6=CA=FD=BE=DD=D0=D0=B2=FA=C9=FA=D3=B0=CF=EC=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%">A =
triggering event=20
      can specify multiple SQL statements:<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D2=BB=B8=F6=B4=A5=B7=A2=CA=C2=BC=FE=D6=D0=BF=C9=D2=D4=D5=EB=
=B6=D4=B6=E0=D6=D6 SQL =D3=EF=BE=E4=A3=BA</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%">
      <BLOCKQUOTE>... INSERT OR UPDATE OR DELETE OF inventory=20
...</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>... INSERT OR UPDATE OR DELETE OF inventory=20
  ...</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%">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%">This =
part means that=20
      when an <FONT color=3D#0000ff>INSERT</FONT>, <FONT=20
      color=3D#0000ff>UPDATE</FONT>, or <FONT =
color=3D#0000ff>DELETE</FONT>=20
      statement is issued against the <FONT =
color=3D#0000ff>inventory</FONT>=20
      table, fire the trigger. When multiple types of SQL statements can =
fire a=20
      trigger, you can use conditional predicates to detect the type of=20
      triggering statement. In this way, you can create a single trigger =
that=20
      runs different code based on the type of statement that fires the=20
      trigger.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=CB=D3=EF=BE=E4=B1=ED=CA=BE=A3=AC=B5=B1=D3=C3=BB=A7=B6=D4=
 <FONT=20
      color=3D#0000ff>inventory</FONT> =B1=ED=D6=B4=D0=D0 <FONT =
color=3D#0000ff>INSERT</FONT>=A3=AC<FONT=20
      color=3D#0000ff>UPDATE</FONT>=A3=AC=BB=F2 <FONT =
color=3D#0000ff>DELETE</FONT>=20
      =
=D3=EF=BE=E4=CA=B1=A3=AC=B4=A5=B7=A2=C6=F7=BD=AB=B1=BB=B4=A5=B7=A2=A1=A3=B5=
=B1=B6=E0=D6=D6=C0=E0=D0=CD=B5=C4 SQL =
=D3=EF=BE=E4=BE=F9=BF=C9=D2=D4=B4=A5=B7=A2=C4=B3=B8=F6=B4=A5=B7=A2=C6=F7=CA=
=B1=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3=CC=F5=BC=FE=CE=BD=B4=CA[con=
ditional=20
      =
predicate]=C0=B4=C5=D0=B6=CF=B4=A5=B7=A2=D3=EF=BE=E4=B5=C4=C0=E0=D0=CD=A1=
=A3=D2=F2=B4=CB=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=D4=DA=D2=BB=B8=F6=B4=A5=B7=A2=
=C6=F7=C4=DA=A3=AC=B8=F9=BE=DD=B4=A5=B7=A2=D3=EF=BE=E4=B5=C4=C0=E0=D0=CD=D6=
=B4=D0=D0=B2=BB=CD=AC=B5=C4=B3=CC=D0=F2=B4=FA=C2=EB=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%">
      <H2><A name=3De.22.2.2></A>Trigger Restriction</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.2.2></A>22.2.2 =
=B4=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE</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%">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%">A =
trigger=20
      restriction specifies a Boolean expression that must be <FONT=20
      color=3D#0000ff>true</FONT> for the trigger to fire. The trigger =
action is=20
      not run if the trigger restriction evaluates to <FONT=20
      color=3D#0000ff>false</FONT> or <FONT =
color=3D#0000ff>unknown</FONT>. In the=20
      example, the trigger restriction is:<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE[rigger=20
      =
restriction]=CA=C7=D2=BB=B8=F6=B2=BC=B6=FB=B1=ED=B4=EF=CA=BD[Boolean =
expression]=A3=AC=D6=BB=D3=D0=D4=DA=B1=ED=B4=EF=CA=BD=CE=AA <FONT =
color=3D#0000ff>true=20
      =
</FONT>=CA=B1=B4=A5=B7=A2=C6=F7=B2=C5=B1=BB=B4=A5=B7=A2=A1=A3=C8=E7=B9=FB=
=B4=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE=B5=C4=BD=E1=B9=FB=CE=AA <FONT =
color=3D#0000ff>false </FONT>=BB=F2 <FONT=20
      color=3D#0000ff>unknown =
</FONT>=D4=F2=B4=A5=B7=A2=B2=D9=D7=F7[trigger=20
    =
action]=B2=BB=BB=E1=B1=BB=D6=B4=D0=D0=A1=A3=CA=BE=C0=FD=D6=D0=B5=C4=B4=A5=
=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE=CE=AA=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%">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%">
      <BLOCKQUOTE>new.parts_on_hand &lt; =
new.reorder_point</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>new.parts_on_hand &lt; =
new.reorder_point</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%">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%">Consequently, the=20
      trigger does not fire unless the number of available parts is less =
than a=20
      present reorder amount.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D2=F2=B4=CB=A3=AC=D6=BB=D3=D0=D4=DA=C1=E3=BC=FE=BF=E2=B4=E6=
=CA=FD=C1=BF=D0=A1=D3=DA=D6=D8=CF=C2=B6=A9=B5=A5=D0=E8=C7=F3=CA=FD=C1=BF[=
reorder=20
      =
amount]=CA=B1=A3=AC=B4=A5=B7=A2=C6=F7=B2=C5=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%">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%">
      <H2><A name=3De.22.2.3></A>Trigger Action</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.2.3></A>22.2.3 =
=B4=A5=B7=A2=B2=D9=D7=F7</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%">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%">A =
trigger action is=20
      the procedure (PL/SQL block, Java program, or C callout) that =
contains the=20
      SQL statements and code to be run when the following events occur:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">A triggering statement is =
issued.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">The trigger restriction =
evaluates to=20
        <FONT color=3D#0000ff>true</FONT>. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=A5=B7=A2=B2=D9=D7=F7[trigger action]=CA=C7=B0=FC=BA=AC =
SQL=20
      =
=D3=EF=BE=E4=BC=B0=BF=D8=D6=C6=B4=FA=C2=EB=B5=C4=B9=FD=B3=CC[=B0=FC=C0=A8=
 PL/SQL =BF=E9=A3=ACJava =B3=CC=D0=F2=A3=ACC =
=CD=E2=B2=BF=B5=F7=D3=C3]=A3=AC=C2=FA=D7=E3=D2=D4=CF=C2=CC=F5=BC=FE=CA=B1=
=B4=A5=B7=A2=B2=D9=D7=F7=BB=E1=B1=BB=D6=B4=D0=D0=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D3=C3=BB=A7=CC=E1=BD=BB=C1=CB=B4=A5=B7=A2=D3=EF=BE=E4[triggering =
statement]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B4=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE[trigger restriction]=CE=AA =
<FONT=20
        color=3D#0000ff>true</FONT>. </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%">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%">Like =
stored=20
      procedures, a trigger action can:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Contain SQL, PL/SQL, or Java =
statements=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Define PL/SQL language =
constructs such=20
        as variables, constants, cursors, exceptions=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Define Java language =
constructs=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Call stored procedures =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=EB=B4=E6=B4=A2=B9=FD=B3=CC[stored=20
procedure]=C0=E0=CB=C6=A3=AC=B4=A5=B7=A2=B2=D9=D7=F7=BE=DF=D3=D0=D2=D4=CF=
=C2=CC=D8=B5=E3=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">=BF=C9=D2=D4=B0=FC=BA=AC =
SQL=A3=ACPL/SQL=A3=AC=BB=F2 Java =D3=EF=BE=E4=20
        <LI=20
        style=3D"MARGIN-BOTTOM: =
10px">=BF=C9=D2=D4=B6=A8=D2=E5=B1=E4=C1=BF[variable]=A3=AC=B3=A3=C1=BF[co=
nstant]=A3=AC=D3=CE=B1=EA[cursor]=A3=AC=D2=EC=B3=A3[exception]=B5=C8=20
        PL/SQL =B3=CC=D0=F2=BD=E1=B9=B9[language construct]=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=BF=C9=D2=D4=B6=A8=D2=E5 Java =
=B3=CC=D0=F2=BD=E1=B9=B9=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=BF=C9=D2=D4=B5=F7=D3=C3=B4=E6=B4=A2=B9=FD=B3=CC =
</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%">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%">If the =
triggers are=20
      row triggers, the statements in a trigger action have access to =
column=20
      values of the row being processed by the trigger. <SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Correlation names provide =
access to the=20
      old and new values for each column.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C8=E7=B9=FB=B4=A5=B7=A2=C6=F7=CE=AA=D0=D0=B4=A5=B7=A2=C6=F7=
[row=20
      =
trigger]=A3=AC=D4=F2=B4=A5=B7=A2=B2=D9=D7=F7=C4=DC=B9=BB=B7=C3=CE=CA=D5=FD=
=D4=DA=B1=BB=B4=A5=B7=A2=C6=F7=B4=A6=C0=ED=B5=C4=CA=FD=BE=DD=D0=D0=B5=C4=B8=
=F7=B8=F6=C1=D0=D6=B5=A1=A3<SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=D3=C3=BB=A7=BF=C9=D2=D4=B0=B4=D5=D5 Oracle =
=B5=C4=C3=FC=C3=FB=B9=E6=D4=F2=B7=C3=CE=CA=B8=F7=C1=D0=B5=C4=BE=C9=D6=B5[=
old=20
      value]=BC=B0=D0=C2=D6=B5[new =
value]=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%">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%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3De.22.3></A>Types of=20
      Triggers</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.22.3></A>22.3=20
      =B4=A5=B7=A2=C6=F7=B5=C4=C0=E0=D0=CD</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%">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%">This =
section=20
      describes the different types of triggers:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.3.1"=20
        target=3D_self>Row Triggers and Statement Triggers</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.3.2"=20
        target=3D_self>BEFORE and AFTER Triggers</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.3.3"=20
        target=3D_self>INSTEAD OF Triggers</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.3.4"=20
        target=3D_self>Triggers on System Events and User Events</A> =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B1=BE=BD=DA=BD=B2=CA=F6=B2=BB=CD=AC=C0=E0=D0=CD=B5=C4=B4=A5=
=B7=A2=C6=F7=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/22.Triggers.htm#c.22.3.1"=20
        =
target=3D_self>=D0=D0=B4=A5=B7=A2=C6=F7=D3=EB=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7=
</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.22.3.2"=20
        target=3D_self>BEFORE =B4=A5=B7=A2=C6=F7=D3=EB AFTER =
=B4=A5=B7=A2=C6=F7</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.22.3.3"=20
        target=3D_self>INSTEAD OF =B4=A5=B7=A2=C6=F7</A>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.22.3.4"=20
        =
target=3D_self>=CF=B5=CD=B3=CA=C2=BC=FE=B4=A5=B7=A2=C6=F7=D3=EB=D3=C3=BB=A7=
=CA=C2=BC=FE=B4=A5=B7=A2=C6=F7</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%">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%">
      <H2><A name=3De.22.3.1></A>Row Triggers and Statement =
Triggers</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.3.1></A>22.3.1 =
=D0=D0=B4=A5=B7=A2=C6=F7=D3=EB=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7</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%">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%">When =
you define a=20
      trigger, you can specify the number of times the trigger action is =
to be=20
      run:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Once for every row affected by =
the=20
        triggering statement, such as a trigger fired by an <FONT=20
        color=3D#0000ff>UPDATE</FONT> statement that updates many rows=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Once for the triggering =
statement, no=20
        matter how many rows it affects </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D4=DA=B6=A8=D2=E5=B4=A5=B7=A2=C6=F7=CA=B1[trigger]=A3=AC=D3=
=C3=BB=A7=BF=C9=D2=D4=C9=E8=B6=A8=B4=A5=B7=A2=B2=D9=D7=F7[trigger=20
      action]=B5=C4=D6=B4=D0=D0=B4=CE=CA=FD=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
        =
statement]=CB=F9=D3=B0=CF=EC=B5=C4=C3=BF=B8=F6=CA=FD=BE=DD=D0=D0=B6=BC=BD=
=AB=CA=B9=B4=A5=B7=A2=C6=F7=B1=BB=B4=A5=B7=A2=D2=BB=B4=CE=A3=AC=C0=FD=C8=E7=
 <FONT color=3D#0000ff>UPDATE</FONT>=20
        =
=D3=EF=BE=E4=CB=F9=B8=FC=D0=C2=B5=C4=B6=E0=B8=F6=CA=FD=BE=DD=D0=D0=BD=AB=B6=
=E0=B4=CE=D2=FD=B7=A2=B4=A5=B7=A2=C6=F7=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B4=A5=B7=A2=D3=EF=BE=E4=D6=B4=D0=D0=D2=BB=B4=CE=B4=A5=B7=A2=C6=F7=B1=
=BB=B4=A5=B7=A2=D2=BB=B4=CE=A3=AC=B6=F8=D3=EB=D3=EF=BE=E4=CB=F9=D3=B0=CF=EC=
=B5=C4=CA=FD=BE=DD=D0=D0=CA=FD=CE=DE=B9=D8=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%">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%">
      <H3><A name=3De.22.3.1.1></A>Row Triggers</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.1.1></A>22.3.1.1 =
=D0=D0=B4=A5=B7=A2=C6=F7</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%">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%">A =
<B>row trigger</B>=20
      is fired each time the table is affected by the triggering =
statement. For=20
      example, if an <FONT color=3D#0000ff>UPDATE</FONT> statement =
updates=20
      multiple rows of a table, a row trigger is fired once for each row =

      affected by the <FONT color=3D#0000ff>UPDATE</FONT> statement. If =
a=20
      triggering statement affects no rows, a row trigger is not =
run.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%"><B>=D0=D0=B4=A5=B7=A2=C6=F7</B>[row=20
      =
trigger]=D4=DA=CA=FD=BE=DD=B1=ED=C3=BF=B4=CE=B1=BB=B4=A5=B7=A2=D3=EF=BE=E4=
[triggering =
statement]=D0=DE=B8=C4=CA=B1=B1=BB=B4=A5=B7=A2=A1=A3=C0=FD=C8=E7=A3=AC<FO=
NT=20
      color=3D#0000ff>UPDATE</FONT> =
=D3=EF=BE=E4=B8=FC=D0=C2=C1=CB=B1=ED=C4=DA=B5=C4=B6=E0=D0=D0=CA=FD=BE=DD=A3=
=AC=D0=D0=B4=A5=B7=A2=C6=F7=D4=DA=B4=CB <FONT=20
      color=3D#0000ff>UPDATE</FONT>=20
      =
=D3=EF=BE=E4=B8=FC=D0=C2=C3=BF=D0=D0=CA=FD=BE=DD=CA=B1=BE=F9=B1=BB=B4=A5=B7=
=A2=D2=BB=B4=CE=A1=A3=C8=E7=B9=FB=B4=A5=B7=A2=D3=EF=BE=E4=C3=BB=D3=D0=D3=B0=
=CF=EC=C8=CE=BA=CE=CA=FD=BE=DD=D0=D0=A3=AC=D4=F2=D0=D0=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%">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%">Row =
triggers are=20
      useful if the code in the trigger action depends on data provided =
by the=20
      triggering statement or rows that are affected. For example, <A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.f.22.3"=20
      target=3D_self>Figure 22-3</A> illustrates a row trigger that uses =
the=20
      values of each row affected by the triggering =
statement.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C8=E7=B9=FB=B4=A5=B7=A2=B2=D9=D7=F7[trigger=20
      =
action]=B5=C4=B4=FA=C2=EB=D0=E8=D2=AA=D2=C0=BE=DD=B4=A5=B7=A2=D3=EF=BE=E4=
=BC=B0=C6=E4=CB=F9=D0=DE=B8=C4=B5=C4=CA=FD=BE=DD=D0=D0=C0=B4=D6=B4=D0=D0=A3=
=AC=BE=CD=D0=E8=D2=AA=CA=B9=D3=C3=D0=D0=B4=A5=B7=A2=C6=F7=A1=A3=C0=FD=C8=E7=
=A3=AC<A=20
      =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#c.f.22.3"=20
      target=3D_self>=CD=BC 22-3</A> =
=CB=F9=CA=BE=B5=C4=D0=D0=B4=A5=B7=A2=C6=F7=A3=AC=D0=E8=D2=AA=D2=C0=BE=DD=B4=
=A5=B7=A2=D3=EF=BE=E4=CB=F9=D0=DE=B8=C4=B5=C4=CA=FD=BE=DD=D0=D0=C0=B4=D6=B4=
=D0=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%">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%">
      <H3><A name=3De.22.3.1.2></A>Statement Triggers </H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.1.2></A>22.3.1.2 =
=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7</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%">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%">A =
<B>statement=20
      trigger</B> is fired once on behalf of the triggering statement,=20
      regardless of the number of rows in the table that the triggering=20
      statement affects, even if no rows are affected. For example, if a =
<FONT=20
      color=3D#0000ff>DELETE</FONT> statement deletes several rows from =
a table, a=20
      statement-level <FONT color=3D#0000ff>DELETE</FONT> trigger is =
fired only=20
      once.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%"><B>=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7</B>[statement=20
      trigger]=D4=DA=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
      =
statement]=C3=BF=B4=CE=D6=B4=D0=D0=CA=B1=B1=BB=B4=A5=B7=A2=D2=BB=B4=CE=A3=
=AC=CE=DE=C2=DB=B4=A5=B7=A2=D3=EF=BE=E4=D3=B0=CF=EC=C1=CB=CA=FD=BE=DD=B1=ED=
=C4=DA=B6=E0=C9=D9=D0=D0=CA=FD=BE=DD=A3=A8=BB=F2=C3=BB=D3=D0=D0=DE=B8=C4=C8=
=CE=BA=CE=CA=FD=BE=DD=D0=D0=A3=A9=A1=A3=C0=FD=C8=E7=A3=AC=B5=B1=D2=BB=CC=F5=
 <FONT=20
      color=3D#0000ff>DELETE</FONT> =
=D3=EF=BE=E4=C9=BE=B3=FD=C1=CB=CA=FD=BE=DD=B1=ED=C4=DA=B5=C4=B6=E0=D0=D0=CA=
=FD=BE=DD=CA=B1=A3=AC=BD=AB=B4=A5=B7=A2=D3=EF=BE=E4=BC=B6=B5=C4 <FONT=20
      color=3D#0000ff>DELETE</FONT> =
=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0=D2=BB=B4=CE=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%">Statement triggers=20
      are useful if the code in the trigger action does not depend on =
the data=20
      provided by the triggering statement or the rows affected. For =
example,=20
      use a statement trigger to:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">Make a complex security =
check on the=20
        current time or user</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Generate a single audit record =

    </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C8=E7=B9=FB=B4=A5=B7=A2=B2=D9=D7=F7[trigger=20
      =
action]=B5=C4=B4=FA=C2=EB=B2=BB=D0=E8=D2=AA=D2=C0=BE=DD=B4=A5=B7=A2=D3=EF=
=BE=E4=BC=B0=C6=E4=CB=F9=D0=DE=B8=C4=B5=C4=CA=FD=BE=DD=D0=D0=C0=B4=D6=B4=D0=
=D0=A3=AC=BE=CD=BF=C9=D2=D4=CA=B9=D3=C3=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7=A1=A3=
=C0=FD=C8=E7=A3=AC=BF=C9=D2=D4=CA=B9=D3=C3=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7=A3=
=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=BD=F8=D0=D0=CA=B5=CA=B1=B5=C4=B8=B4=D4=D3=B0=B2=C8=AB=D0=D4=BC=EC=
=B2=E9[complex security=20
        check]</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C9=FA=B3=C9=D2=BB=CC=F5=C9=F3=BC=C6=BC=C7=C2=BC[audit record] =
</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%">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%">
      <H2><A name=3De.22.3.2></A>BEFORE and AFTER Triggers</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.3.2></A>22.3.2 BEFORE =B4=A5=B7=A2=C6=F7=D3=EB =
AFTER =B4=A5=B7=A2=C6=F7</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%">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%">When =
defining a=20
      trigger, you can specify the <B>trigger timing</B>=A1=AAwhether =
the trigger=20
      action is to be run before or after the triggering statement. =
<FONT=20
      color=3D#0000ff>BEFORE</FONT> and <FONT =
color=3D#0000ff>AFTER</FONT> apply to=20
      both statement and row triggers.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D4=DA=B6=A8=D2=E5=B4=A5=B7=A2=C6=F7=CA=B1=A3=AC=D3=C3=BB=A7=
=BF=C9=D2=D4=D6=B8=B6=A8<B>=B4=A5=B7=A2=CA=B1=BB=FA</B>[trigger=20
      timing]=A3=AC=BC=B4=C9=E8=B6=A8=B4=A5=B7=A2=B2=D9=D7=F7[trigger =
action]=D4=DA=B4=A5=B7=A2=D3=EF=BE=E4[triggering =
statement]=D6=AE=C7=B0=BB=F2=D6=AE=BA=F3=D6=B4=D0=D0=A1=A3<FONT=20
      color=3D#0000ff>BEFORE</FONT> =BC=B0 <FONT =
color=3D#0000ff>AFTER</FONT>=20
      =
=BF=C9=D2=D4=D3=A6=D3=C3=D3=DA=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7[statement =
trigger]=BC=B0=D0=D0=B4=A5=B7=A2=C6=F7[row =
trigger]=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%"><FONT=20
      color=3D#0000ff>BEFORE</FONT> and <FONT =
color=3D#0000ff>AFTER</FONT> triggers=20
      fired by DML statements can be defined only on tables, not on =
views.=20
      However, triggers on the base tables of a view are fired if an =
<FONT=20
      color=3D#0000ff>INSERT</FONT>, <FONT =
color=3D#0000ff>UPDATE</FONT>, or <FONT=20
      color=3D#0000ff>DELETE</FONT> statement is issued against the =
view. <FONT=20
      color=3D#0000ff>BEFORE</FONT> and <FONT =
color=3D#0000ff>AFTER</FONT> triggers=20
      fired by DDL statements can be defined only on the database or a =
schema,=20
      not on particular tables.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">=D3=C9 DML =
=D3=EF=BE=E4=B4=A5=B7=A2=B5=C4 <FONT=20
      color=3D#0000ff>BEFORE</FONT> =BC=B0 <FONT color=3D#0000ff>AFTER=20
      =
</FONT>=B4=A5=B7=A2=C6=F7=D6=BB=C4=DC=B6=A8=D2=E5=D4=DA=B1=ED=C9=CF=A3=AC=
=B6=F8=B2=BB=C4=DC=B6=A8=D2=E5=D4=DA=CA=D3=CD=BC=C9=CF=A1=A3=B5=AB=D4=DA=B6=
=D4=CA=D3=CD=BC=D6=B4=D0=D0 <FONT=20
      color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>UPDATE</FONT>=A3=AC=BB=F2 <FONT=20
      color=3D#0000ff>DELETE</FONT> =
=D3=EF=BE=E4=CA=B1=A3=AC=CF=E0=B9=D8=BB=F9=B1=ED[base =
table]=C9=CF=B5=C4=B4=A5=B7=A2=C6=F7=C8=D4=BB=E1=B1=BB=B4=A5=B7=A2=A1=A3=D3=
=C9 DDL =D3=EF=BE=E4=B4=A5=B7=A2=B5=C4=20
      <FONT color=3D#0000ff>BEFORE</FONT> =BC=B0 <FONT =
color=3D#0000ff>AFTER=20
      =
</FONT>=B4=A5=B7=A2=C6=F7=D6=BB=C4=DC=B6=A8=D2=E5=D4=DA=CA=FD=BE=DD=BF=E2=
=BB=F2=B7=BD=B0=B8[schema]=C9=CF=A3=AC=B6=F8=B2=BB=C4=DC=D5=EB=B6=D4=CC=D8=
=B6=A8=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%">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%">
      <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/22.Triggers.htm#e.22.3.3"=20
          target=3D_self>INSTEAD OF Triggers</A>"=20
          <LI style=3D"MARGIN-BOTTOM: 10px">"<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.3.4"=20
          target=3D_self>Triggers on System Events and User Events</A>" =
for=20
          information about how <FONT color=3D#0000ff>BEFORE</FONT> and =
<FONT=20
          color=3D#0000ff>AFTER</FONT> triggers can be used to publish =
information=20
          about DML and DDL statements </LI></UL></BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>
        <P><B>See Also:</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/22.Triggers.htm#c.22.3.3"=20
          target=3D_self>INSTEAD OF =B4=A5=B7=A2=C6=F7</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/22.Triggers.htm#c.22.3.4"=20
          =
target=3D_self>=CF=B5=CD=B3=CA=C2=BC=FE=B4=A5=B7=A2=C6=F7=D3=EB=D3=C3=BB=A7=
=CA=C2=BC=FE=B4=A5=B7=A2=C6=F7</A>=A1=B1=C1=CB=BD=E2=C8=E7=BA=CE=CA=B9=D3=
=C3 <FONT=20
          color=3D#0000ff>BEFORE</FONT> =BC=B0 <FONT =
color=3D#0000ff>AFTER</FONT> =B4=A5=B7=A2=C6=F7=B7=A2=B2=BC=20
          DML =D3=EB DDL =D3=EF=BE=E4=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%">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%">
      <H3><A name=3De.22.3.2.1></A>BEFORE Triggers</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.2.1></A>22.3.2.1 BEFORE =
=B4=A5=B7=A2=C6=F7</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%">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%"><FONT=20
      color=3D#0000ff>BEFORE</FONT> triggers run the trigger action =
before the=20
      triggering statement is run. This type of trigger is commonly used =
in the=20
      following situations:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">When the trigger action =
determines=20
        whether the triggering statement should be allowed to complete. =
Using a=20
        <FONT color=3D#0000ff>BEFORE</FONT> trigger for this purpose, =
you can=20
        eliminate unnecessary processing of the triggering statement and =
its=20
        eventual rollback in cases where an exception is raised in the =
trigger=20
        action.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">To derive specific column =
values before=20
        completing a triggering <FONT color=3D#0000ff>INSERT</FONT> or =
<FONT=20
        color=3D#0000ff>UPDATE</FONT> statement. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><FONT =
color=3D#0000ff>BEFORE</FONT>=20
      =B4=A5=B7=A2=C6=F7=D4=DA=B4=A5=B7=A2=D3=EF=BE=E4[triggering =
statement]=D4=CB=D0=D0=C7=B0=D6=B4=D0=D0=B4=A5=B7=A2=B2=D9=D7=F7[trigger =
action]=A1=A3=B4=CB=D6=D6=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=D4=DA=D2=D4=CF=C2=
=C7=E9=BF=F6=CA=B9=D3=C3=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D3=C9=B4=A5=B7=A2=B2=D9=D7=F7=BE=F6=B6=A8=B4=A5=B7=A2=D3=EF=BE=E4=CA=
=C7=B7=F1=BF=C9=D2=D4=D6=B4=D0=D0=A1=A3=B4=CB=CA=B1=CA=B9=D3=C3<FONT=20
        color=3D#0000ff> BEFORE</FONT> =
=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=B1=DC=C3=E2=B4=A5=B7=A2=D3=EF=BE=E4=D2=F2=D2=
=EC=B3=A3=B6=F8=D7=EE=D6=D5=B1=BB=BB=D8=B9=F6=A3=AC=D2=F2=B4=CB=BC=F5=C9=D9=
=C1=CB=CA=FD=BE=DD=BF=E2=D6=D0=B2=BB=B1=D8=D2=AA=B5=C4=D3=EF=BE=E4=B4=A6=C0=
=ED=B9=A4=D7=F7=C1=BF=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=D4=DA=D6=B4=D0=D0 <FONT =
color=3D#0000ff>INSERT</FONT> =BB=F2=20
        <FONT color=3D#0000ff>UPDATE</FONT> =
=B4=A5=B7=A2=D3=EF=BE=E4=D6=AE=C7=B0=BC=C6=CB=E3=CC=D8=B6=A8=B5=C4=C1=D0=D6=
=B5=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%">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%">
      <H3><A name=3De.22.3.2.2></A>AFTER Triggers</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.2.2></A>22.3.2.2 AFTER =
=B4=A5=B7=A2=C6=F7</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%">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%"><FONT=20
      color=3D#0000ff>AFTER</FONT> triggers run the trigger action after =
the=20
      triggering statement is run.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><FONT =
color=3D#0000ff>AFTER</FONT>=20
      =B4=A5=B7=A2=C6=F7=D4=DA=B4=A5=B7=A2=D3=EF=BE=E4[triggering =
statement]=D4=CB=D0=D0=BA=F3=D6=B4=D0=D0=B4=A5=B7=A2=B2=D9=D7=F7[trigger =
action]=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%">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%">
      <H3><A name=3De.22.3.2.3></A><SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">Trigger=20
      Type Combinations</SPAN></H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.2.3></A>22.3.2.3 =
=B4=A5=B7=A2=C6=F7=C0=E0=D0=CD=B5=C4=D7=E9=BA=CF</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%">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%">Using =
the options=20
      listed previously, you can create four types of row and statement=20
triggers:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>BEFORE statement=20
        trigger</B><BR><BR>Before executing the triggering statement, =
the=20
        trigger action is run.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>BEFORE row =
trigger</B><BR><BR>Before=20
        modifying each row affected by the triggering statement and =
before=20
        checking appropriate integrity constraints, the trigger action =
is run,=20
        if the trigger restriction was not violated.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>AFTER statement=20
        trigger</B><BR><BR>After executing the triggering statement and =
applying=20
        any deferred integrity constraints, the trigger action is run.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>AFTER row =
trigger</B><BR><BR>After=20
        modifying each row affected by the triggering statement and =
possibly=20
        applying appropriate integrity constraints, the trigger action =
is run=20
        for the current row provided the trigger restriction was not =
violated.=20
        Unlike <FONT color=3D#0000ff>BEFORE row</FONT> triggers, <FONT=20
        color=3D#0000ff>AFTER row</FONT> triggers lock rows. =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=B8=F9=BE=DD=C7=B0=C3=E6=BD=B2=CA=F6=
=B5=C4=B4=A5=B7=A2=C6=F7=C0=E0=D0=CD=D1=A1=CF=EE=A3=AC=B4=B4=BD=A8 4 =
=D6=D6=D0=D0=B4=A5=B7=A2=C6=F7[row=20
      trigger]=BC=B0=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7[statement =
trigger]=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>BEFORE=20
        =
=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7</B><BR><BR>=D4=DA=D6=B4=D0=D0=B4=A5=B7=A2=D3=
=EF=BE=E4[triggering =
statement]=D6=AE=C7=B0=A3=AC=CA=D7=CF=C8=D6=B4=D0=D0=B4=A5=B7=A2=B2=D9=D7=
=F7[trigger=20
        action]=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>BEFORE=20
        =
=D0=D0=B4=A5=B7=A2=C6=F7</B><BR><BR>=D4=DA=B4=A5=B7=A2=D3=EF=BE=E4=D0=DE=B8=
=C4=B8=F7=CA=FD=BE=DD=D0=D0=A3=AC=BC=B0=BD=F8=D0=D0=CF=E0=B9=D8=CD=EA=D5=FB=
=D0=D4=D4=BC=CA=F8=BC=EC=B2=E9=D6=AE=C7=B0=A3=AC=C8=E7=B9=FB=B7=FB=BA=CF=B4=
=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE[trigger=20
        restriction]=D4=F2=D6=B4=D0=D0=B4=A5=B7=A2=B2=D9=D7=F7=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>AFTER=20
        =
=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7</B><BR><BR>=D4=DA=B4=A5=B7=A2=D3=EF=BE=E4=D6=
=B4=D0=D0=CD=EA=B1=CF=A3=AC=C7=D2=CF=E0=B9=D8=D1=D3=B3=D9=CD=EA=D5=FB=D0=D4=
=D4=BC=CA=F8[deferred integrity=20
        =
constraint]=D2=B2=BC=EC=B2=E9=CD=EA=B1=CF=BA=F3=A3=AC=D6=B4=D0=D0=B4=A5=B7=
=A2=B2=D9=D7=F7=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><B>AFTER=20
        =
=D0=D0=B4=A5=B7=A2=C6=F7</B><BR><BR>=B5=B1=B4=A5=B7=A2=D3=EF=BE=E4=D0=DE=B8=
=C4=C1=CB=D2=BB=D0=D0=CA=FD=BE=DD=A3=AC=C7=D2=CF=E0=B9=D8=CD=EA=D5=FB=D0=D4=
=D4=BC=CA=F8=BC=EC=B2=E9=CD=EA=B1=CF=BA=F3=A3=AC=C8=E7=B9=FB=B7=FB=BA=CF=B4=
=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE[trigger=20
        =
restriction]=D4=F2=D6=B4=D0=D0=B4=A5=B7=A2=B2=D9=D7=F7=A1=A3=D3=EB <FONT =
color=3D#0000ff>BEFORE row</FONT> =
=B4=A5=B7=A2=C6=F7=B2=BB=CD=AC=A3=AC<FONT=20
        color=3D#0000ff>AFTER row</FONT> =
=B4=A5=B7=A2=C6=F7=BD=AB=B6=D4=CA=FD=BE=DD=D0=D0=BC=D3=CB=F8=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%">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%">You =
can have=20
      multiple triggers of the same type for the same statement for any =
given=20
      table. For example, you can have two <FONT color=3D#0000ff>BEFORE=20
      statement</FONT> triggers for <FONT color=3D#0000ff>UPDATE</FONT> =
statements=20
      on the <FONT color=3D#0000ff>employees</FONT> table. Multiple =
triggers of=20
      the same type permit modular installation of applications that =
have=20
      triggers on the same tables. <SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">Also,=20
      Oracle materialized view logs use </SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">AFTER row</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> triggers, so you can design =
your own=20
      </SPAN><FONT color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">AFTER=20
      row</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
trigger in=20
      addition to the Oracle-defined </SPAN><FONT color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">AFTER row</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
trigger.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=CE=AA=D2=BB=B8=F6=CA=FD=BE=DD=B1=ED=
=B4=B4=BD=A8=B4=A5=B7=A2=D3=EF=BE=E4=BC=B0=C0=E0=D0=CD=A3=A8<FONT=20
      color=3D#0000ff>BEFORE</FONT> =BB=F2 <FONT=20
      =
color=3D#0000ff>AFTER</FONT>=A3=A9=BE=F9=CF=E0=CD=AC=B5=C4=B4=A5=B7=A2=C6=
=F7=A1=A3=C0=FD=C8=E7=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=D4=DA <FONT=20
      color=3D#0000ff>employees</FONT> =C9=CF=CE=AA <FONT =
color=3D#0000ff>UPDATE</FONT> =D3=EF=BE=E4=B4=B4=BD=A8=C1=BD=B8=F6=20
      <FONT color=3D#0000ff>BEFORE statement</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=A1=A3=B4=CB=CC=D8=D0=D4=D4=CA=D0=ED=B2=BB=CD=AC=B5=C4=D3=
=A6=D3=C3=B3=CC=D0=F2=D4=DA=CD=AC=D2=BB=CA=FD=BE=DD=B1=ED=C9=CF=B4=B4=BD=A8=
=C0=E0=D0=CD=CF=E0=CD=AC=B5=C4=B4=A5=B7=A2=C6=F7=A1=A3<SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Oracle =
=D4=DA=CE=EF=BB=AF=CA=D3=CD=BC=C8=D5=D6=BE[materialized view =
log]=D6=D0=CA=B9=D3=C3=20
      </SPAN><FONT color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">AFTER=20
      row</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
=B4=A5=B7=A2=C6=F7=A3=AC=D3=C3=BB=A7=BF=C9=D2=D4=D4=DA Oracle=20
      =
=B6=A8=D2=E5=B5=C4=B4=A5=B7=A2=C6=F7=D6=AE=CD=E2=B6=A8=D2=E5=D7=D4=BC=BA=B5=
=C4 </SPAN><FONT color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">AFTER row</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
=B4=A5=B7=A2=C6=F7=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%">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%">You =
can create as=20
      many triggers of the preceding different types as you need for =
each type=20
      of DML statement, (<FONT color=3D#0000ff>INSERT</FONT>, <FONT=20
      color=3D#0000ff>UPDATE</FONT>, or <FONT=20
color=3D#0000ff>DELETE</FONT>).<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=CE=AA=B8=F7=D6=D6 DML =D3=EF=BE=E4=A3=A8<FONT =

      color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>UPDATE</FONT>=A3=AC=BB=F2 <FONT=20
      color=3D#0000ff>DELETE</FONT>=A3=A9=B4=B4=BD=A8=C7=B0=CA=F6=B8=F7 =
=C0=E0=D0=CD=B4=A5=B7=A2=C6=F7=B5=C4=D7=DC=CA=FD=C1=BF=B2=BB=CA=DC=CF=DE=D6=
=C6=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%">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%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
        Database Application Developer's Guide - Fundamentals</A> for =
examples=20
        of trigger applications</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-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
        Database Application Developer's Guide - Fundamentals</A>=20
      =
=C1=CB=BD=E2=D3=A6=D3=C3=B4=A5=B7=A2=C6=F7=B5=C4=C0=FD=D7=D3</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%">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%">
      <H2><A name=3De.22.3.3></A>INSTEAD OF Triggers</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.3.3></A>22.3.3 INSTEAD OF =
=B4=A5=B7=A2=C6=F7</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%">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%"><FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> triggers provide a transparent =
way of=20
      modifying views that cannot be modified directly through DML =
statements=20
      (<FONT color=3D#0000ff>INSERT</FONT>, <FONT =
color=3D#0000ff>UPDATE</FONT>, and=20
      <FONT color=3D#0000ff>DELETE</FONT>). These triggers are called =
<FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> triggers because, unlike other =
types of=20
      triggers, Oracle fires the trigger instead of executing the =
triggering=20
      statement.<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 =
color=3D#0000ff>INSTEAD=20
      OF</FONT> =
=B4=A5=B7=A2=C6=F7=CD=B8=C3=F7=B5=D8=D0=DE=B8=C4=B2=BB=C4=DC=D3=C9 DML =
=D3=EF=BE=E4=A3=A8<FONT color=3D#0000ff>INSERT</FONT>=A3=AC<FONT=20
      color=3D#0000ff>UPDATE</FONT>=A3=AC=BC=B0 <FONT=20
      =
color=3D#0000ff>DELETE</FONT>=A3=A9=D6=B1=BD=D3=D0=DE=B8=C4=B5=C4=CA=D3=CD=
=BC=A1=A3=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=B1=BB=B3=C6=CE=AA <FONT =
color=3D#0000ff>INSTEAD=20
      OF</FONT> =B4=A5=B7=A2=C6=F7=B5=C4=D4=AD=D2=F2=CA=C7 Oracle =
=D6=BB=D4=CB=D0=D0=B4=A5=B7=A2=B2=D9=D7=F7[trigger =
action]=B6=F8=B2=BB=D4=CB=D0=D0=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
      statement]=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%">You =
can write normal=20
      <FONT color=3D#0000ff>INSERT</FONT>, <FONT =
color=3D#0000ff>UPDATE</FONT>, and=20
      <FONT color=3D#0000ff>DELETE</FONT> statements against the view =
and the=20
      <FONT color=3D#0000ff>INSTEAD OF</FONT> trigger is fired to update =
the=20
      underlying tables appropriately. <FONT color=3D#0000ff>INSTEAD =
OF</FONT>=20
      triggers are activated for each row of the view that gets=20
modified.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=B6=D4=CA=D3=CD=BC=D6=B4=D0=D0=C6=D5=
=CD=A8=B5=C4 <FONT=20
      color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>UPDATE</FONT>=A3=AC=BC=B0 <FONT=20
      color=3D#0000ff>DELETE</FONT> =D3=EF=BE=E4=A3=AC=B2=A2=B6=A8=D2=E5 =
<FONT color=3D#0000ff>INSTEAD OF</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=D0=DE=B8=C4=CF=E0=B9=D8=B5=C4=B5=D7=B2=E3=B1=ED=A1=A3=CA=
=D3=CD=BC=D6=D0=C3=BF=B8=F6=B1=BB=D0=DE=B8=C4=B5=C4=CA=FD=BE=DD=D0=D0=B6=BC=
=BD=AB=B4=A5=B7=A2 <FONT color=3D#0000ff>INSTEAD OF</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=D4=CB=D0=D0=D2=BB=B4=CE=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%">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%">
      <H3><A name=3De.22.3.3.1></A>Modify Views</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.3.1></A>22.3.3.1 =
=D0=DE=B8=C4=CA=D3=CD=BC=CA=FD=BE=DD</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%">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%">Modifying views can=20
      have ambiguous results:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Deleting a row in a view could =
either=20
        mean deleting it from the base table or updating some values so =
that it=20
        is no longer selected by the view.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Inserting a row in a view =
could either=20
        mean inserting a new row into the base table or updating an =
existing row=20
        so that it is projected by the view.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">Updating a column in a view =
that=20
        involves joins might change the semantics of other columns that =
are not=20
        projected by the view.</SPAN> </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D0=DE=B8=C4=CA=D3=CD=BC=CA=FD=BE=DD=B6=D4=BB=F9=B1=ED[base=
 table]=B5=C4=D3=B0=CF=EC=CA=C7=B2=BB=C8=B7=B6=A8=B5=C4=A3=BA
      <UL>
        <LI=20
        style=3D"MARGIN-BOTTOM: =
10px">=C9=BE=B3=FD=CA=D3=CD=BC=C4=DA=B5=C4=CA=FD=BE=DD=D0=D0=CA=B1=A3=AC=BC=
=C8=BF=C9=D2=D4=C9=BE=B3=FD=BB=F9=B1=ED=C4=DA=B5=C4=CA=FD=BE=DD=D0=D0=A3=AC=
=D2=B2=BF=C9=D2=D4=B8=FC=D0=C2=BB=F9=B1=ED=B5=C4=C4=B3=D0=A9=D6=B5=CA=B9=D6=
=AE=B2=BB=C4=DC=D4=D9=B1=BB=CA=D3=CD=BC=B2=E9=D1=AF=A1=A3=20

        <LI=20
        style=3D"MARGIN-BOTTOM: =
10px">=CF=F2=CA=D3=CD=BC=C4=DA=B2=E5=C8=EB=CA=FD=BE=DD=D0=D0=CA=B1=A3=AC=BC=
=C8=BF=C9=D2=D4=CF=F2=BB=F9=B1=ED=B2=E5=C8=EB=D0=C2=CA=FD=BE=DD=D0=D0=A3=AC=
=D2=B2=BF=C9=D2=D4=B8=FC=D0=C2=BB=F9=B1=ED=C4=DA=D2=D1=D3=D0=B5=C4=CA=FD=BE=
=DD=D0=D0=CA=B9=D6=AE=B0=FC=BA=AC=D4=DA=CA=D3=CD=BC=B5=C4=B2=E9=D1=AF=BD=E1=
=B9=FB=D6=D0=A1=A3=20

        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=B8=FC=D0=C2=D2=BB=B8=F6=B0=FC=BA=AC=C1=AC=BD=D3=B5=C4=CA=D3=CD=BC=
=CA=B1=A3=AC=D3=D0=BF=C9=C4=DC=D0=DE=B8=C4=CE=B4=B0=FC=BA=AC=D3=DA=CA=D3=CD=
=BC=B6=A8=D2=E5=C4=DA=B5=C4=C6=E4=CB=FB=CA=FD=BE=DD=C1=D0=B5=C4=D3=EF=D2=E5=
=A1=A3</SPAN>=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%">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%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">Object views present =
additional=20
      problems. For example, a key use of object views is to represent=20
      master/detail relationships. This operation inevitably involves =
joins, but=20
      modifying joins is inherently ambiguous.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B2=D9=D7=F7=B6=D4=CF=F3=CA=D3=CD=BC[object=20
      =
view]=CA=B1=BB=B9=B4=E6=D4=DA=B6=EE=CD=E2=B5=C4=CE=CA=CC=E2=A1=A3=C0=FD=C8=
=E7=A3=AC=B6=D4=CF=F3=CA=D3=CD=BC=B5=C4=D6=D8=D2=AA=D3=C3=CD=BE=CA=C7=B1=ED=
=CF=D6=D6=F7=D0=C5=CF=A2/=C3=F7=CF=B8=D0=C5=CF=A2=B9=D8=CF=B5[master/deta=
il=20
      =
relationship]=A1=A3=B4=CB=C0=E0=B6=D4=CF=F3=CA=D3=CD=BC=D6=D0=B1=D8=C8=BB=
=B0=FC=BA=AC=C1=AC=BD=D3=A3=AC=D2=F2=B4=CB=D0=DE=B8=C4=B4=CB=C0=E0=CA=D3=CD=
=BC=CA=B1=B6=D4=BB=F9=B1=ED=B5=C4=D3=B0=CF=EC=D2=B2=CA=C7=B2=BB=C8=B7=B6=A8=
=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%">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%">As a =
result of these=20
      ambiguities, there are many restrictions on which views are =
modifiable. An=20
      <FONT color=3D#0000ff>INSTEAD OF</FONT> trigger can be used on =
object views=20
      as well as relational views that are not otherwise =
modifiable.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D3=C9=D3=DA=B4=E6=D4=DA=B2=BB=C8=B7=B6=A8=D0=D4=A3=AC=D2=F2=
=B4=CB=D2=BB=B8=F6=CA=D3=CD=BC=CA=C7=B7=F1=C4=DC=B1=BB=D0=DE=B8=C4=B4=E6=D4=
=DA=D6=EE=B6=E0=CF=DE=D6=C6=A1=A3=B6=D4=D3=DA=B2=BB=BF=C9=D0=DE=B8=C4=B5=C4=
=B9=D8=CF=B5=D0=CD=CA=D3=CD=BC[relational=20
      view]=BC=B0=B6=D4=CF=F3=CA=D3=CD=BC[object =
view]=BF=C9=D2=D4=CA=B9=D3=C3 <FONT color=3D#0000ff>INSTEAD OF</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=BD=F8=D0=D0=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%">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%">A view =
is=20
      <B>inherently modifiable</B> if data can be inserted, updated, or =
deleted=20
      without using <FONT color=3D#0000ff>INSTEAD OF</FONT> triggers and =
if it=20
      conforms to the restrictions listed as follows. Even if the view =
is=20
      inherently modifiable, you might want to perform validations on =
the values=20
      being inserted, updated or deleted. <FONT color=3D#0000ff>INSTEAD =
OF</FONT>=20
      triggers can also be used in this case. Here the trigger code =
performs the=20
      validation on the rows being modified and if valid, propagate the =
changes=20
      to the underlying tables.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=C8=E7=B9=FB=D2=BB=B8=F6=CA=D3=CD=BC=C2=FA=D7=E3=D0=DE=B8=C4=
=B5=C4=CF=DE=D6=C6=CC=F5=BC=FE=A3=A8=CF=EA=BC=FB=CF=C2=BD=DA=A3=A9=A3=AC=BF=
=C9=D2=D4=D6=B1=BD=D3=B2=E5=C8=EB=A3=AC=B8=FC=D0=C2=A3=AC=BB=F2=C9=BE=B3=FD=
=B6=F8=CE=DE=D0=E8=CA=B9=D3=C3 <FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=D4=F2=B3=C6=B4=CB=CA=D3=CD=BC=CE=AA<B>=C4=DA=D4=DA=
=BF=C9=D0=DE=B8=C4=B5=C4</B>[inherently=20
      modifiable]=A1=A3 =
=BC=B4=B1=E3=CA=D3=CD=BC=CA=C7=C4=DA=D4=DA=BF=C9=D0=DE=B8=C4=B5=C4=A3=AC=D3=
=C3=BB=A7=BF=C9=C4=DC=BB=B9=D0=E8=D2=AA=D4=DA=B2=E5=C8=EB=A3=AC=B8=FC=D0=C2=
=A3=AC=BB=F2=C9=BE=B3=FD=C7=B0=D1=E9=D6=A4=CF=E0=B9=D8=B5=C4=CA=FD=BE=DD=D6=
=B5=A1=A3=B4=CB=D6=D6=D0=E8=C7=F3=D2=B2=BF=C9=D2=D4=CD=A8=B9=FD <FONT=20
      color=3D#0000ff>INSTEAD OF</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=CA=B5=CF=D6=A1=A3=D3=C3=BB=A7=BF=C9=D2=D4=D4=DA=B4=A5=B7=
=A2=C6=F7=B4=FA=C2=EB=D6=D0=D1=E9=D6=A4=BD=AB=D2=AA=B1=BB=D0=DE=B8=C4=B5=C4=
=CA=FD=BE=DD=CA=C7=B7=F1=D3=D0=D0=A7=A3=AC=D1=E9=D6=A4=D5=FD=C8=B7=BA=F3=B2=
=C5=BD=AB=D0=DE=B8=C4=D3=A6=D3=C3=B5=BD=CF=E0=B9=D8=B5=C4=B5=D7=B2=E3=B1=ED=
=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%">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%"><FONT=20
      color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: #ffff00">INSTEAD=20
      OF</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
triggers also=20
      enable you to modify object view instances on the client-side =
through OCI.=20
      To modify an object materialized by an object view in the =
client-side=20
      object cache and flush it back to the persistent store, you must =
specify=20
      </SPAN><FONT color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">INSTEAD=20
      OF</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
triggers, unless=20
      the object view is inherently modifiable. However, it is not =
necessary to=20
      define these triggers for just pinning and reading the view object =
in the=20
      object cache.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=BB=B9=BF=C9=D2=D4=D4=DA <FONT =
color=3D#0000ff>INSTEAD=20
      OF</FONT> =B4=A5=B7=A2=C6=F7=D6=D0=CD=A8=B9=FD OCI=20
      =
=D0=DE=B8=C4=BF=CD=BB=A7=B6=CB[client-side]=B5=C4=B6=D4=CF=F3=CA=D3=CD=BC=
=CA=B5=C0=FD[instance]=A1=A3=C8=E7=B9=FB=B6=D4=CF=F3=CA=D3=CD=BC=B2=BB=CA=
=C7=C4=DA=D4=DA=BF=C9=D0=DE=B8=C4=B5=C4=A3=AC=D4=F2=B1=D8=D0=EB=CA=B9=D3=C3=
 <FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> =
=B4=A5=B7=A2=C6=F7=D0=DE=B8=C4=BF=CD=BB=A7=B6=CB=B6=D4=CF=F3=BB=BA=B4=E6[=
object=20
      =
cache]=C4=DA=B5=C4=CA=D3=CD=BC=CA=B5=C0=FD=A3=AC=BB=F2=B6=D4=CA=D3=CD=BC=CA=
=B5=C0=FD=BD=F8=D0=D0=B3=D6=D0=F8=B4=E6=B4=A2[persistent=20
      =
store]=A1=A3=C8=E7=B9=FB=D6=BB=D0=E8=CB=F8=B6=A8[pinning]=BB=F2=B6=C1=C8=A1=
[reading]=B6=D4=CF=F3=BB=BA=B4=E6=C4=DA=B5=C4=B6=D4=CF=F3=CA=D3=CD=BC=A3=AC=
=D4=F2=CE=DE=D0=E8=CA=B9=D3=C3=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%">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%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">Chapter 27, "<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/a">Object=20
          Datatypes and Object Views</A>"=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
50/toc.htm">Oracle=20
          Call Interface Programmer's Guide</A>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
          Database Application Developer's Guide - Fundamentals</A> for =
an=20
          example of 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">=B5=DA 27 =
=D5=C2=A3=AC=A1=B0<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/a">Object=20
          Datatypes and Object Views</A>=A1=B1=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
50/toc.htm">Oracle=20
          Call Interface Programmer's Guide</A>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
          Database Application Developer's Guide - Fundamentals</A> =
=C1=CB=BD=E2=CA=B9=D3=C3 <FONT=20
          color=3D#0000ff>INSTEAD OF</FONT> =
=B4=A5=B7=A2=C6=F7=B5=C4=C0=FD=D7=D3 </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%">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%">
      <H3><A name=3De.22.3.3.2></A>Views That Are Not =
Modifiable</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.3.2></A>22.3.3.2 =
=B2=BB=BF=C9=D0=DE=B8=C4=CA=FD=BE=DD=B5=C4=CA=D3=CD=BC</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%">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%">If the =
view query=20
      contains any of the following constructs, the view is not =
inherently=20
      modifiable and you therefore cannot perform inserts, updates, or =
deletes=20
      on the view:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Set operators=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Aggregate functions=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>GROUP =
BY</FONT>,=20
        <FONT color=3D#0000ff>CONNECT BY</FONT>, or <FONT =
color=3D#0000ff>START=20
        WITH</FONT> clauses=20
        <LI style=3D"MARGIN-BOTTOM: 10px">The <FONT =
color=3D#0000ff>DISTINCT</FONT>=20
        operator=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Joins (however, some join =
views are=20
        updatable) </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C8=E7=B9=FB=CA=D3=CD=BC=B2=E9=D1=AF=C4=DA=B0=FC=BA=AC=D2=D4=
=CF=C2=BD=E1=B9=B9=A3=AC=D4=F2=CA=D3=CD=BC=B2=BB=CA=C7=C4=DA=D4=DA=BF=C9=D0=
=DE=B8=C4=B5=C4[inherently=20
      =
modifiable]=A3=AC=D3=C3=BB=A7=B2=BB=C4=DC=D6=B1=BD=D3=B6=D4=CA=D3=CD=BC=D6=
=B4=D0=D0=B2=E5=C8=EB=A3=AC=C9=BE=B3=FD=A3=AC=BB=F2=B8=FC=D0=C2=B2=D9=D7=F7=
=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=BC=AF=BA=CF=B2=D9=D7=F7=B7=FB[set operator]=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=BE=DB=BA=CF=BA=AF=CA=FD[aggregate function]=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>GROUP=20
        BY</FONT>=A3=AC<FONT color=3D#0000ff>CONNECT =
BY</FONT>=A3=AC=BB=F2 <FONT=20
        color=3D#0000ff>START WITH</FONT> =D7=D3=BE=E4=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>DISTINCT</FONT> =B2=D9=D7=F7=B7=FB=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C1=AC=BD=D3[join]=A3=A8=B5=AB=D3=D0=D0=A9=C1=AC=BD=D3=CA=D3=CD=BC[=
join view]=CA=C7=BF=C9=B8=FC=D0=C2=B5=C4=A3=A9=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%">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%">If a =
view contains=20
      pseudocolumns or expressions, you can only update the view with an =
<FONT=20
      color=3D#0000ff>UPDATE</FONT> statement that does not refer to any =
of the=20
      pseudocolumns or expressions.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=C8=E7=B9=FB=CA=D3=CD=BC=B2=E9=D1=AF=D6=D0=B0=FC=BA=AC=D0=E9=
=C1=D0[pseudocolumn]=BB=F2=B1=ED=B4=EF=CA=BD[expression]=A3=AC=D3=C3=BB=A7=
=D6=BB=C4=DC=CC=E1=BD=BB=C3=BB=D3=D0=D2=FD=D3=C3=D0=E9=C1=D0=BC=B0=B1=ED=B4=
=EF=CA=BD=B5=C4=20
      <FONT color=3D#0000ff>UPDATE</FONT> =
=D3=EF=BE=E4=D0=DE=B8=C4=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%">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"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/05.Schema%20Objects.htm#e.5.3.5">Updatable=20
        Join 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/05.Schema%20Objects.htm#c.5.3.5">=BF=C9=B8=FC=D0=C2=B5=C4=C1=
=AC=BD=D3=CA=D3=CD=BC</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%">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.22.3.3.3></A>INSTEAD OF Triggers on Nested =
Tables</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.3.3></A>22.3.3.3 =
=C7=B6=CC=D7=B1=ED=C9=CF=B5=C4 INSTEAD OF =
=B4=A5=B7=A2=C6=F7</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%"><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">You cannot modify the elements =
of a=20
      nested table column in a view directly with the </SPAN><FONT=20
      color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">TABLE</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> clause. However, you can do =
so by=20
      defining an </SPAN><FONT color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">INSTEAD OF</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> trigger on the nested table =
column of=20
      the view. The triggers on the nested tables fire if a nested table =
element=20
      is updated, inserted, or deleted and handle the actual =
modifications to=20
      the underlying tables.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=B2=BB=C4=DC=D6=B1=BD=D3=CA=B9=D3=C3 <FONT=20
      color=3D#0000ff>TABLE</FONT> =
=D7=D3=BE=E4=D0=DE=B8=C4=CA=D3=CD=BC=D6=D0=C7=B6=CC=D7=B1=ED=C1=D0[nested=
 table=20
      =
column]=C4=DA=B5=C4=D4=AA=CB=D8[element]=A1=A3=B5=AB=B4=CB=D0=E8=C7=F3=BF=
=C9=D2=D4=CD=A8=B9=FD=D4=DA=C7=B6=CC=D7=B1=ED=C9=CF=B6=A8=D2=E5 <FONT =
color=3D#0000ff>INSTEAD OF</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=C0=B4=CA=B5=CF=D6=A1=A3=C8=E7=B9=FB=B2=E5=C8=EB=A3=AC=B8=
=FC=D0=C2=BB=F2=C9=BE=B3=FD=C1=CB=CA=D3=CD=BC=C4=DA=B5=C4=C7=B6=CC=D7=B1=ED=
=D4=AA=CB=D8=A3=AC=C7=B6=CC=D7=B1=ED=B5=C4=B4=A5=B7=A2=C6=F7=BD=AB=B1=BB=B4=
=A5=B7=A2=A3=AC=B6=D4=C7=B6=CC=D7=B1=ED=D6=B4=D0=D0=CA=B5=BC=CA=B5=C4=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%">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%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
          Database Application Developer's Guide - Fundamentals</A>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/server.102/b142=
00/toc.htm">Oracle=20
          Database SQL Reference</A> for information on the <FONT=20
          color=3D#0000ff>CREATE TRIGGER</FONT> statement =
</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-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
          Database Application Developer's Guide - Fundamentals</A>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/server.102/b142=
00/toc.htm">Oracle=20
          Database SQL Reference</A> =C1=CB=BD=E2=B9=D8=D3=DA <FONT =
color=3D#0000ff>CREATE=20
          TRIGGER</FONT> =D3=EF=BE=E4=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%">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%">
      <H2><A name=3De.22.3.4></A>Triggers on System Events and User =
Events</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.3.4></A>22.3.4 =
=CF=B5=CD=B3=CA=C2=BC=FE=B4=A5=B7=A2=C6=F7=D3=EB=D3=C3=BB=A7=CA=C2=BC=FE=B4=
=A5=B7=A2=C6=F7</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%">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%">You =
can use triggers=20
      to publish information about database events to subscribers. =
Applications=20
      can subscribe to database events just as they subscribe to =
messages from=20
      other applications. These database events can include:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">System events<BR><BR>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">Database startup and =
shutdown=20
          <LI style=3D"MARGIN-BOTTOM: 10px">Data Guard <SPAN=20
          style=3D"BACKGROUND-COLOR: #ffff00">role transitions</SPAN>=20
          <LI style=3D"MARGIN-BOTTOM: 10px">Server error message events =
</LI></UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">User events<BR><BR>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px">User logon and logoff=20
          <LI style=3D"MARGIN-BOTTOM: 10px">DDL statements (<FONT=20
          color=3D#0000ff>CREATE</FONT>, <FONT =
color=3D#0000ff>ALTER</FONT>, and=20
          <FONT color=3D#0000ff>DROP</FONT>)=20
          <LI style=3D"MARGIN-BOTTOM: 10px">DML statements (<FONT=20
          color=3D#0000ff>INSERT</FONT>, <FONT =
color=3D#0000ff>DELETE</FONT>, and=20
          <FONT color=3D#0000ff>UPDATE</FONT>) </LI></UL></LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=D3=C3=BB=A7=BF=C9=D2=D4=CA=B9=D3=C3=B4=A5=B7=A2=C6=F7[trig=
ger]=CF=F2=B6=A9=D4=C4=D5=DF[subscriber]=B7=A2=B2=BC[publish]=CA=FD=BE=DD=
=BF=E2=CA=C2=BC=FE[database=20
      =
event]=D0=C5=CF=A2=A1=A3=D3=A6=D3=C3=B3=CC=D0=F2=BF=C9=D2=D4=B6=A9=D4=C4=CA=
=FD=BE=DD=BF=E2=CA=C2=BC=FE=A3=AC=D5=E2=D3=EB=B6=A9=D4=C4=C6=E4=CB=FB=D3=A6=
=D3=C3=B3=CC=D0=F2=B7=A2=B2=BC=B5=C4=CF=FB=CF=A2=C0=E0=CB=C6=A1=A3=BF=C9=B9=
=A9=B6=A9=D4=C4=B5=C4=CA=FD=BE=DD=BF=E2=CA=C2=BC=FE=B0=FC=C0=A8=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=CF=B5=CD=B3=CA=C2=BC=FE[system event]<BR><BR>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: =
10px">=CA=FD=BE=DD=BF=E2=C6=F4=B6=AF[startup]=D3=EB=B9=D8=B1=D5[shutdown]=
=20
          <LI style=3D"MARGIN-BOTTOM: 10px">Data Guard <SPAN=20
          style=3D"BACKGROUND-COLOR: =
#ffff00">=BD=C7=C9=AB=B1=E4=BB=BB</SPAN>[role transition]=20
          <LI style=3D"MARGIN-BOTTOM: =
10px">=B7=FE=CE=F1=C6=F7=B4=ED=CE=F3=CF=FB=CF=A2=CA=C2=BC=FE[server =
error message event]=20
          </LI></UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">=D3=C3=BB=A7=CA=C2=BC=FE[user =
event]<BR><BR>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: =
10px">=D3=C3=BB=A7=B5=C7=C2=BC[logon]=D3=EB=CD=CB=B3=F6[logoff]=20
          <LI style=3D"MARGIN-BOTTOM: 10px">DDL =D3=EF=BE=E4=A3=A8<FONT=20
          color=3D#0000ff>CREATE</FONT>=A3=AC<FONT =
color=3D#0000ff>ALTER</FONT>=A3=AC=D3=EB <FONT=20
          color=3D#0000ff>DROP</FONT>=A3=A9=20
          <LI style=3D"MARGIN-BOTTOM: 10px">DML =D3=EF=BE=E4=A3=A8<FONT=20
          color=3D#0000ff>INSERT</FONT>=A3=AC<FONT =
color=3D#0000ff>DELETE</FONT>=A3=AC=D3=EB<FONT=20
          color=3D#0000ff> UPDATE</FONT>=A3=A9 =
</LI></UL></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%">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%">Triggers on system=20
      events can be defined at the database level or schema level. <SPAN =

      style=3D"BACKGROUND-COLOR: #ffff00">The </SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">DBMS_AQ</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> package is one example of =
using=20
      database triggers to perform certain actions.</SPAN> For example, =
a=20
      database shutdown trigger is defined at the database =
level:<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D5=EB=B6=D4=CA=FD=BE=DD=BF=E2=CA=C2=BC=FE=B5=C4=B4=A5=B7=A2=
=C6=F7=BF=C9=D2=D4=B6=A8=D2=E5=D4=DA=CA=FD=BE=DD=BF=E2=BC=B6[database=20
      level]=BB=F2=B7=BD=B0=B8=BC=B6[schema level]=A1=A3<SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=B3=A3=BC=FB=B5=C4=C0=FD=D7=D3=CA=C7=D4=DA=B4=A5=B7=A2=C6=F7=D6=D0=
=B5=F7=D3=C3 </SPAN><FONT=20
      color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">DBMS_AQ</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">=20
  =
=B0=FC=D6=B4=D0=D0=CC=D8=B6=A8=B2=D9=D7=F7=A1=A3</SPAN>=C8=E7=CF=C2=CB=F9=
=CA=BE=A3=AC=D4=DA=CA=FD=BE=DD=BF=E2=BC=B6=B6=A8=D2=E5=C1=CB=CA=FD=BE=DD=BF=
=E2=B9=D8=B1=D5=B4=A5=B7=A2=C6=F7=A3=BA</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%">
      <BLOCKQUOTE>CREATE TRIGGER register_shutdown <BR>ON DATABASE=20
        <BR>SHUTDOWN <BR>BEGIN <BR>...<BR>DBMS_AQ.ENQUEUE(...); <BR>...=20
      <BR>END;</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE>CREATE TRIGGER register_shutdown <BR>ON DATABASE=20
        <BR>SHUTDOWN <BR>BEGIN <BR>...<BR>DBMS_AQ.ENQUEUE(...); <BR>...=20
      <BR>END;</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%">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%">Triggers on DDL=20
      statements or logon/logoff events can also be defined at the =
database=20
      level or schema level. Triggers on DML statements can be defined =
on a=20
      table or view. A trigger defined at the database level fires for =
all=20
      users, and a trigger defined at the schema or table level fires =
only when=20
      the triggering event involves that schema or table.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">DDL =
=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7=BC=B0=B5=C7=C2=BC/=CD=CB=B3=F6=B4=A5=B7=A2=
=C6=F7=D2=B2=BF=C9=D2=D4=B6=A8=D2=E5=D3=DA=CA=FD=BE=DD=BF=E2=BC=B6=BB=F2=B7=
=BD=B0=B8=BC=B6=A1=A3=B6=F8=20
      DML=20
      =
=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7=D6=BB=C4=DC=B6=A8=D2=E5=D4=DA=B1=ED=BB=F2=CA=
=D3=CD=BC=C9=CF=A1=A3=B6=A8=D2=E5=D3=DA=CA=FD=BE=DD=BF=E2=BC=B6=B5=C4=B4=A5=
=B7=A2=C6=F7=BF=C9=D2=D4=B1=BB=CB=F9=D3=D0=D3=C3=BB=A7=B4=A5=B7=A2=A3=AC=B6=
=F8=B6=A8=D2=E5=D3=DA=B7=BD=B0=B8=BC=B6=BB=F2=B1=ED=BC=B6=B5=C4=B4=A5=B7=A2=
=C6=F7=D6=BB=D3=D0=D4=DA=B7=BD=B0=B8=BB=F2=B1=ED=B1=BB=B0=FC=BA=AC=D3=DA=B4=
=A5=B7=A2=CA=C2=BC=FE[triggering=20
      =
event]=CA=B1=B2=C5=B5=C3=B5=BD=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%">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%">
      <H3><A name=3De.22.3.4.1></A>Event Publication</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.4.1></A>22.3.4.1 =
=CA=C2=BC=FE=B7=A2=B2=BC</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%">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%">Event =
publication=20
      uses the publish-subscribe mechanism of Oracle Streams Advanced =
Queuing. A=20
      <B>queue</B> serves as a message repository for subjects of =
interest to=20
      various subscribers. Triggers use the <FONT =
color=3D#0000ff>DBMS_AQ</FONT>=20
      package to enqueue a message when specific system or user events=20
      occur.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=CA=C2=BC=FE=B7=A2=B2=BC[event =
publication]=B2=C9=D3=C3=B5=C4=CA=C7 Oracle=20
      =CA=FD=BE=DD=C1=F7=B8=DF=BC=B6=B6=D3=C1=D0[Streams Advanced =
Queuing]=B5=C4=B7=A2=B2=BC-=B6=A9=D4=C4=BB=FA=D6=C6[publish-subscribe=20
      =
mechanism]=A1=A3<B>=B6=D3=C1=D0</B>[queue]=C8=E7=CD=AC=D2=BB=B8=F6=CF=FB=CF=
=A2=D7=CA=C1=CF=BF=E2[message=20
      =
repository]=A3=AC=C6=E4=D6=D0=B4=E6=B4=A2=C1=CB=B6=A9=D4=C4=D5=DF[subscri=
ber]=B8=D0=D0=CB=C8=A4=B5=C4=D0=C5=CF=A2=A1=A3=B4=A5=B7=A2=C6=F7=CA=B9=D3=
=C3 <FONT=20
      color=3D#0000ff>DBMS_AQ</FONT> =
=B0=FC=BD=AB=D6=B8=B6=A8=B5=C4=CF=B5=CD=B3=CA=C2=BC=FE=BB=F2=D3=C3=BB=A7=CA=
=C2=BC=FE=BC=D3=C8=EB=B6=D3=C1=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%">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%">
      <BLOCKQUOTE>
        <P><B>See Also:</B></P>
        <UL>
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/server.102/b142=
57/toc.htm">Oracle=20
          Streams Advanced Queuing User's Guide and Reference</A>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
58/toc.htm">Oracle=20
          Database PL/SQL Packages and Types Reference</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-west.oracle.com/docs/cd/B19306_01/server.102/b142=
57/toc.htm">Oracle=20
          Streams Advanced Queuing User's Guide and Reference</A>=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
58/toc.htm">Oracle=20
          Database PL/SQL Packages and Types Reference</A>=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%">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%">
      <H3><A name=3De.22.3.4.2></A>Event Attributes</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.4.2></A>22.3.4.2 =
=CA=C2=BC=FE=CA=F4=D0=D4</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%">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%">Each =
event allows=20
      the use of attributes within the trigger text. For example, the =
database=20
      startup and shutdown triggers have attributes for the instance =
number and=20
      the database name, and the logon and logoff triggers have =
attributes for=20
      the user name. <SPAN style=3D"BACKGROUND-COLOR: #ffff00">You can =
specify a=20
      function with the same name as an attribute when you create a =
trigger if=20
      you want to publish that attribute when the event occurs. The =
attribute's=20
      value is then passed to the function or payload when the trigger =
fires.=20
      For triggers on DML statements, the </SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">:OLD</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> column values pass the =
attribute's=20
      value to the </SPAN><FONT color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">:NEW</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> column =
value.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D4=DA=B4=A5=B7=A2=C6=F7=B4=FA=C2=EB=C4=DA=BF=C9=D2=D4=CA=B9=
=D3=C3=CA=C2=BC=FE=CA=F4=D0=D4[event=20
      =
attribute]=A1=A3=C0=FD=C8=E7=CA=FD=BE=DD=BF=E2=C6=F4=B6=AF/=B9=D8=B1=D5[s=
tartup/shutdown]=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=BB=F1=B5=C3=CA=B5=C0=FD=B1=
=E0=BA=C5=BC=B0=CA=FD=BE=DD=BF=E2=C3=FB=B5=C8=CA=F4=D0=D4=A3=AC=D3=C3=BB=A7=
=B5=C7=C2=BC/=CD=CB=B3=F6[logon/logoff]=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=BB=F1=
=B5=C3=D3=C3=BB=A7=C3=FB=B5=C8=CA=F4=D0=D4=A1=A3<SPAN=20
      style=3D"BACKGROUND-COLOR: =
#ffff00">=BF=AA=B7=A2=D5=DF=D4=DA=B4=B4=BD=A8=B4=A5=B7=A2=C6=F7=CA=B1=BF=C9=
=D2=D4=B4=B4=BD=A8=D3=EB=CA=C2=BC=FE=CA=F4=D0=D4=CD=AC=C3=FB=B5=C4=BA=AF=CA=
=FD=A3=AC=D2=D4=B1=E3=D4=DA=CA=C2=BC=FE=B7=A2=C9=FA=CA=B1=B7=A2=B2=BC=B4=CB=
=CA=F4=D0=D4=A1=A3=B5=B1=B4=A5=B7=A2=C6=F7=B1=BB=B4=A5=B7=A2=CA=B1=CA=C2=BC=
=FE=CA=F4=D0=D4=D6=B5=BD=AB=B1=BB=B4=AB=B5=DD=B8=F8=CF=E0=D3=A6=B5=C4=BA=AF=
=CA=FD=A1=A3=B6=D4=D3=DA=20
      DML =D3=EF=BE=E4=B4=A5=B7=A2=C6=F7=A3=AC</SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">:OLD</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
=C1=D0=D6=B5=C4=DC=B9=BB=B0=D1=CA=F4=D0=D4=D6=B5=B4=AB=B5=DD=B8=F8 =
</SPAN><FONT=20
      color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">:NEW</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
=C1=D0=D6=B5=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%">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%">
      <H3><A name=3De.22.3.4.3></A>System Events</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.4.3></A>22.3.4.3 =
=CF=B5=CD=B3=CA=C2=BC=FE</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%">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%">System =
events that=20
      can fire triggers are related to instance startup and shutdown and =
error=20
      messages. Triggers created on startup and shutdown events have to =
be=20
      associated with the database. Triggers created on error events can =
be=20
      associated with the database or with a schema.
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>STARTUP</FONT>=20
        triggers fire when the database is opened by an instance. <SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">Their attributes include the =
system=20
        event, instance number, and database name.</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>SHUTDOWN</FONT>=20
        triggers fire just before the server starts shutting down an =
instance.=20
        You can use these triggers to make subscribing applications shut =
down=20
        completely when the database shuts down. For abnormal instance =
shutdown,=20
        these triggers cannot be fired. The attributes of <FONT=20
        color=3D#0000ff>SHUTDOWN</FONT> triggers include the system =
event,=20
        instance number, and database name.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>SERVERERROR</FONT>=20
        triggers fire when a specified error occurs, or when any error =
occurs if=20
        no error number is specified. Their attributes include the =
system event=20
        and error number.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT=20
        color=3D#0000ff>DB_ROLE_CHANGE</FONT> triggers fire when a role =
transition=20
        (<SPAN style=3D"BACKGROUND-COLOR: #ffff00">failover</SPAN> or =
<SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">switchover</SPAN>) occurs in =
a Data=20
        Guard configuration. The trigger notifies users when a role =
transition=20
        occurs, so that client connections can be processed on the new =
primary=20
        database and applications can continue to run. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C4=DC=B9=BB=D2=FD=B7=A2=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0=B5=C4=
=CF=B5=CD=B3=CA=C2=BC=FE[system=20
      =
event]=D6=F7=D2=AA=B0=FC=C0=A8=CA=B5=C0=FD=C6=F4=B6=AF[startup]=D3=EB=B9=D8=
=B1=D5[shutdown]=A3=AC=BC=B0=B4=ED=CE=F3=CF=FB=CF=A2[error=20
      =
message]=A1=A3=C6=F4=B6=AF=D3=EB=B9=D8=B1=D5=B4=A5=B7=A2=C6=F7=D6=BB=C4=DC=
=B6=A8=D2=E5=D3=DA=CA=FD=BE=DD=BF=E2=BC=B6[database =
level]=A1=A3=B6=F8=B4=ED=CE=F3=CA=C2=BC=FE[error=20
      =
event]=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=B6=A8=D2=E5=D3=DA=CA=FD=BE=DD=BF=E2=BC=
=B6=BB=F2=B7=BD=B0=B8=BC=B6[schema level]=A1=A3
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=B1=CA=FD=BE=DD=BF=E2=B1=BB=CA=B5=C0=FD=B4=F2=BF=AA[open]=CA=B1=BD=
=AB=D2=FD=B7=A2 <FONT=20
        color=3D#0000ff>STARTUP</FONT> =
=B4=A5=B7=A2=C6=F7=A1=A3=B4=CB=B4=A5=B7=A2=C6=F7=BF=C9=CA=B9=D3=C3=B5=C4=CA=
=C2=BC=FE=CA=F4=D0=D4=D3=D0=A3=BA=CF=B5=CD=B3=CA=C2=BC=FE[system=20
        event]=A3=AC=CA=B5=C0=FD=BA=C5[instance =
number]=A3=AC=BC=B0=CA=FD=BE=DD=BF=E2=C3=FB[database name]=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=B1=CA=FD=BE=DD=BF=E2=B7=FE=CE=F1=C6=F7=BF=AA=CA=BC=B9=D8=B1=D5=CA=
=B5=C0=FD=CA=B1=BD=AB=D2=FD=B7=A2 <FONT=20
        color=3D#0000ff>SHUTDOWN</FONT>=20
        =
=B4=A5=B7=A2=C6=F7=A1=A3=B4=CB=B4=A5=B7=A2=C6=F7=C4=DC=B9=BB=CF=F2=B6=A9=D4=
=C4=C1=CB=CA=FD=BE=DD=BF=E2=B9=D8=B1=D5=CA=C2=BC=FE=B5=C4=D3=A6=D3=C3=B3=CC=
=D0=F2=B7=A2=CB=CD=CF=FB=CF=A2=A3=AC=B4=D3=B6=F8=C8=B7=B1=A3=D3=A6=D3=C3=B3=
=CC=D0=F2=D4=DA=CA=FD=BE=DD=BF=E2=B9=D8=B1=D5=CA=B1=D2=B2=C4=DC=CD=EA=C8=AB=
=B9=D8=B1=D5=A1=A3=C8=E7=B9=FB=CA=B5=C0=FD=CA=C7=D2=EC=B3=A3=B9=D8=B1=D5=B5=
=C4=D4=F2=CE=DE=B7=A8=D2=FD=B7=A2=B4=CB=B4=A5=B7=A2=C6=F7=A1=A3<FONT=20
        color=3D#0000ff>SHUTDOWN</FONT> =
=B4=A5=B7=A2=C6=F7=BF=C9=CA=B9=D3=C3=B5=C4=CA=C2=BC=FE=CA=F4=D0=D4=D3=D0=A3=
=BA=CF=B5=CD=B3=CA=C2=BC=FE=A3=AC=CA=B5=C0=FD=BA=C5=A3=AC=BC=B0=CA=FD=BE=DD=
=BF=E2=C3=FB=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=B1=B7=A2=C9=FA=C1=CB=D6=B8=B6=A8=B5=C4=B4=ED=CE=F3=BB=F2=C8=CE=D2=
=E2=B4=ED=CE=F3=A3=A8=C7=D2=C3=BB=D3=D0=D6=B8=B6=A8=B4=ED=CE=F3=B1=E0=BA=C5=
=A3=A9=CA=B1=BD=AB=D2=FD=B7=A2 <FONT=20
        color=3D#0000ff>SERVERERROR</FONT> =
=B4=A5=B7=A2=C6=F7=A1=A3=B4=CB=B4=A5=B7=A2=C6=F7=BF=C9=CA=B9=D3=C3=B5=C4=CA=
=C2=BC=FE=CA=F4=D0=D4=D3=D0=A3=BA=CF=B5=CD=B3=CA=C2=BC=FE=BC=B0=B4=ED=CE=F3=
=B1=E0=BA=C5[error=20
        number]=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=B5=B1 Data Guard =
=CF=B5=CD=B3=D6=D0=B7=A2=C9=FA=BD=C7=C9=AB=B1=E4=BB=BB=A3=A8=B9=CA=D5=CF=C7=
=D0=BB=BB[failover=20
        =
]=BB=F2=D2=BB=B0=E3=C7=D0=BB=BB[switchover]=A3=A9=CA=B1=BD=AB=D2=FD=B7=A2=
 <FONT color=3D#0000ff>DB_ROLE_CHANGE</FONT>=20
        =
=B4=A5=B7=A2=C6=F7=A1=A3=B4=CB=B4=A5=B7=A2=C6=F7=C4=DC=B9=BB=CD=A8=D6=AA=D3=
=C3=BB=A7=B7=A2=C9=FA=C1=CB=BD=C7=C9=AB=B1=E4=BB=BB=A3=AC=CA=B9=BF=CD=BB=A7=
=C1=AC=BD=D3[client =
connection]=D7=AA=D2=C6=B5=BD=D0=C2=B5=C4=D6=F7=CA=FD=BE=DD=BF=E2[primary=
=20
        =
database]=D6=D0=B4=A6=C0=ED=A3=AC=B4=D3=B6=F8=C8=B7=B1=A3=D3=A6=D3=C3=B3=CC=
=D0=F2=BC=CC=D0=F8=D4=CB=D0=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%">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%">
      <H3><A name=3De.22.3.4.4></A>User Events</H3></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H3><A name=3Dc.22.3.4.4></A>22.3.4.4 =
=D3=C3=BB=A7=CA=C2=BC=FE</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%">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%">User =
events that can=20
      fire triggers are related to user logon and logoff, DDL =
statements, and=20
      DML statements.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=BB=A7=B5=C7=C2=BC/=CD=CB=B3=F6[logon/logoff]=A3=ACDD=
L =D3=EF=BE=E4=A3=AC=BC=B0 DML=20
      =D3=EF=BE=E4=B5=C8=D3=C3=BB=A7=CA=C2=BC=FE[user =
event]=C4=DC=B9=BB=D2=FD=B7=A2=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%">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%">
      <H4><A name=3De.22.3.4.4.1></A>Triggers on LOGON and LOGOFF =
Events</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.22.3.4.4.1></A>22.3.4.4.1 =
=B5=C7=C2=BC=BC=B0=CD=CB=B3=F6=CA=C2=BC=FE=B5=C4=B4=A5=B7=A2=C6=F7</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%">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%"><FONT=20
      color=3D#0000ff>LOGON</FONT> and <FONT =
color=3D#0000ff>LOGOFF</FONT> triggers=20
      can be associated with the database or with a schema. Their =
attributes=20
      include the system event and user name, <SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">and they can specify simple =
conditions=20
      on </SPAN><FONT color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">USERID</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> and </SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">USERNAME</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">.</SPAN>
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>LOGON</FONT>=20
        triggers fire after a successful logon of a user.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT =
color=3D#0000ff>LOGOFF</FONT>=20
        triggers fire at the start of a user logoff. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%"><FONT =
color=3D#0000ff>LOGON</FONT> =D3=EB=20
      <FONT color=3D#0000ff>LOGOFF</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=B6=A8=D2=E5=D4=DA=CA=FD=BE=DD=BF=E2=BB=F2=B7=
=BD=B0=B8[schema]=C9=CF=A1=A3=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=BF=C9=CA=B9=D3=
=C3=B5=C4=CA=F4=D0=D4=B0=FC=C0=A8=A3=BA=CF=B5=CD=B3=CA=C2=BC=FE[system =
event]=BC=B0=D3=C3=BB=A7=C3=FB[user=20
      name]=A1=A3<SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=D6=D0=BF=C9=D2=D4=CA=B9=D3=C3 =
</SPAN><FONT=20
      color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">USERID</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =BC=B0 </SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">USERNAME</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
=BA=AF=CA=FD=B6=A8=D2=E5=BC=F2=B5=A5=CC=F5=BC=FE=A1=A3</SPAN>
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=B1=D3=C3=BB=A7=B3=C9=B9=A6=B5=C7=C2=BC=BA=F3=BD=AB=D2=FD=B7=A2 =
<FONT=20
        color=3D#0000ff>LOGON</FONT> =B4=A5=B7=A2=C6=F7=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B5=B1=D3=C3=BB=A7=BF=AA=CA=BC=CD=CB=B3=F6=CA=B1=BD=AB=D2=FD=B7=A2<=
FONT color=3D#0000ff>=20
        LOGOFF</FONT> =B4=A5=B7=A2=C6=F7=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%">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%">
      <H4><A name=3De.22.3.4.4.2></A>Triggers on DDL =
Statements</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.22.3.4.4.2></A>22.3.4.4.2 DDL =
=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7</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%">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%">DDL =
triggers can be=20
      associated with the database or with a schema. Their attributes =
include=20
      the system event, the type of schema object, and its name. They =
can=20
      specify simple conditions on the type and name of the schema =
object, as=20
      well as functions like <FONT color=3D#0000ff>USERID</FONT> and =
<FONT=20
      color=3D#0000ff>USERNAME</FONT>. DDL triggers include the =
following types of=20
      triggers:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
CREATE</FONT>=20
        and <FONT color=3D#0000ff>AFTER CREATE</FONT> triggers fire when =
a schema=20
        object is created in the database or schema.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
ALTER</FONT>=20
        and <FONT color=3D#0000ff>AFTER ALTER</FONT> triggers fire when =
a schema=20
        object is altered in the database or schema.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
DROP</FONT>=20
        and <FONT color=3D#0000ff>AFTER DROP</FONT> triggers fire when a =
schema=20
        object is dropped from the database or schema. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">DDL=20
      =
=B4=A5=B7=A2=C6=F7=BF=C9=D2=D4=B6=A8=D2=E5=D4=DA=CA=FD=BE=DD=BF=E2=BB=F2=B7=
=BD=B0=B8[schema]=C9=CF=A1=A3=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=BF=C9=CA=B9=D3=
=C3=B5=C4=CA=F4=D0=D4=B0=FC=C0=A8=A3=BA=CF=B5=CD=B3=CA=C2=BC=FE[system=20
      =
event]=A3=AC=B7=BD=B0=B8=B6=D4=CF=F3=C0=E0=D0=CD=BC=B0=C3=FB=B3=C6=A1=A3=B4=
=CB=C0=E0=B4=A5=B7=A2=C6=F7=D6=D0=BF=C9=D2=D4=CA=B9=D3=C3=B7=BD=B0=B8=B6=D4=
=CF=F3=C0=E0=D0=CD=BC=B0=C3=FB=B3=C6=A3=AC=BB=F2 <FONT =
color=3D#0000ff>USERID</FONT> =BC=B0=20
      <FONT color=3D#0000ff>USERNAME</FONT> =
=BA=AF=CA=FD=C0=B4=B6=A8=D2=E5=BC=F2=B5=A5=B5=C4=CC=F5=BC=FE=A1=A3DDL =
=B4=A5=B7=A2=C6=F7=B0=FC=C0=A8=D2=D4=CF=C2=C0=E0=D0=CD=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
CREATE</FONT>=20
        =BC=B0 <FONT color=3D#0000ff>AFTER CREATE</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=B5=B1=D4=DA=CA=FD=BE=DD=BF=E2=BB=F2=C4=B3=D2=BB=B7=
=BD=B0=B8=D6=D0=B4=B4=BD=A8=B7=BD=B0=B8=B6=D4=CF=F3=CA=B1=B1=BB=B4=A5=B7=A2=
=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
ALTER</FONT>=20
        =BC=B0 <FONT color=3D#0000ff>AFTER ALTER</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=B5=B1=D0=DE=B8=C4=CA=FD=BE=DD=BF=E2=BB=F2=C4=B3=D2=
=BB=B7=BD=B0=B8=D6=D0=B5=C4=B7=BD=B0=B8=B6=D4=CF=F3=CA=B1=B1=BB=B4=A5=B7=A2=
=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
DROP</FONT> =BC=B0=20
        <FONT color=3D#0000ff>AFTER DROP</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=B5=B1=D2=C6=B3=FD=CA=FD=BE=DD=BF=E2=BB=F2=C4=B3=D2=
=BB=B7=BD=B0=B8=D6=D0=B5=C4=B7=BD=B0=B8=B6=D4=CF=F3=CA=B1=B1=BB=B4=A5=B7=A2=
=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%">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%">
      <H4><A name=3De.22.3.4.4.3></A>Triggers on DML =
Statements</H4></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H4><A name=3Dc.22.3.4.4.3></A>22.3.4.4.3 DML =
=D3=EF=BE=E4=B4=A5=B7=A2=C6=F7</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%">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%">DML =
triggers for=20
      event publication are associated with a table. They can be either =
<FONT=20
      color=3D#0000ff>BEFORE</FONT> or <FONT =
color=3D#0000ff>AFTER</FONT> triggers=20
      that fire for each row on which the specified DML operation =
occurs. <SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">You cannot use </SPAN><FONT=20
      color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: #ffff00">INSTEAD=20
      OF</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
triggers on views=20
      to publish events related to DML statements=A1=AAinstead, you can =
publish=20
      events using </SPAN><FONT color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">BEFORE</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> or </SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">AFTER</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> triggers for the <FONT=20
      color=3D#0000ff>DML</FONT> operations on a view's underlying =
tables that are=20
      caused by </SPAN><FONT color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">INSTEAD OF</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
triggers.<BR>=A1=A1</SPAN></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=D3=DA=CA=C2=BC=FE=B7=A2=B2=BC[event =
publication]=B5=C4 DML=20
      =
=B4=A5=B7=A2=C6=F7=D5=EB=B6=D4=CA=FD=BE=DD=BF=E2=B1=ED=A1=A3=B4=CB=C0=E0=B4=
=A5=B7=A2=C6=F7=BF=C9=D2=D4=CA=C7 <FONT color=3D#0000ff>BEFORE</FONT> =
=BB=F2 <FONT=20
      color=3D#0000ff>AFTER</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=B5=B1=D6=B8=B6=A8=B5=C4 DML =
=B2=D9=D7=F7=B7=A2=C9=FA=CA=B1=A3=AC=D3=EF=BE=E4=CB=F9=D3=B0=CF=EC=B5=C4=C3=
=BF=D0=D0=CA=FD=BE=DD=B6=BC=BD=AB=D2=FD=B7=A2=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0=
=A1=A3<SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">=D4=DA Oracle =
=D6=D0=CE=DE=B7=A8=CD=A8=B9=FD=D4=DA=CA=D3=CD=BC=C9=CF=B6=A8=D2=E5 =
</SPAN><FONT=20
      color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: #ffff00">INSTEAD=20
      OF</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
=B4=A5=B7=A2=C6=F7=C0=B4=B7=A2=B2=BC=D3=EB=CA=D3=CD=BC=CF=E0=B9=D8=B5=C4 =

      <FONT color=3D#0000ff>DML</FONT> =
=CA=C2=BC=FE=A3=AC=D2=AA=CA=B5=CF=D6=B4=CB=C0=E0=D0=E8=C7=F3=A3=AC=D3=C3=BB=
=A7=D0=E8=D2=AA=D4=DA=CA=D3=CD=BC=B5=C4=B5=D7=B2=E3=B1=ED=C9=CF=B6=A8=D2=E5=
 </SPAN><FONT=20
      color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">BEFORE</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =BB=F2 </SPAN><FONT =
color=3D#0000ff><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">AFTER</SPAN></FONT><SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00"> =
=B4=A5=B7=A2=C6=F7=C0=B4=B7=A2=B2=BC=CA=C2=BC=FE=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%">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%">The =
attributes of=20
      DML triggers for event publication include the system event and =
the=20
      columns defined by the user in the <FONT =
color=3D#0000ff>SELECT</FONT> list.=20
      They can specify simple conditions on the type and name of the =
schema=20
      object, as well as functions (such as <FONT =
color=3D#0000ff>UID</FONT>,=20
      <FONT color=3D#0000ff>USER</FONT>, <FONT =
color=3D#0000ff>USERENV</FONT>, and=20
      <FONT color=3D#0000ff>SYSDATE</FONT>), pseudocolumns, and columns. =
The=20
      columns can be prefixed by <FONT color=3D#0000ff>:OLD</FONT> and =
<FONT=20
      color=3D#0000ff>:NEW</FONT> for old and new values. Triggers on =
DML=20
      statements include the following triggers:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
INSERT</FONT>=20
        and <FONT color=3D#0000ff>AFTER INSERT</FONT> triggers fire for =
each row=20
        inserted into the table.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
UPDATE</FONT>=20
        and <FONT color=3D#0000ff>AFTER UPDATE</FONT> triggers fire for =
each row=20
        updated in the table.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
DELETE</FONT>=20
        and <FONT color=3D#0000ff>AFTER DELETE</FONT> triggers fire for =
each row=20
        deleted from the table. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=C3=D3=DA=CA=C2=BC=FE=B7=A2=B2=BC=B5=C4 DML=20
      =
=B4=A5=B7=A2=C6=F7=BF=C9=CA=B9=D3=C3=B5=C4=CA=C2=BC=FE=CA=F4=D0=D4=B0=FC=C0=
=A8=A3=BA=CF=B5=CD=B3=CA=C2=BC=FE[system =
event]=A3=AC=BC=B0=B6=A8=D2=E5=D4=DA <FONT color=3D#0000ff>SELECT</FONT> =

      =
=C1=D0=B1=ED=D6=D0=B5=C4=C1=D0=D6=B5=A1=A3=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=D6=
=D0=BF=C9=D2=D4=CA=B9=D3=C3=B7=BD=B0=B8=B6=D4=CF=F3=C0=E0=D0=CD=BC=B0=C3=FB=
=B3=C6=A3=AC=BA=AF=CA=FD=A3=A8=C0=FD=C8=E7 <FONT =
color=3D#0000ff>UID</FONT>=A3=AC<FONT=20
      color=3D#0000ff>USER</FONT>=A3=AC<FONT =
color=3D#0000ff>USERENV</FONT>=A3=AC=BB=F2 <FONT=20
      color=3D#0000ff>SYSDATE</FONT> =
=B5=C8=A3=A9=A3=AC=D0=E9=C1=D0[pseudocolumn]=BB=F2=C1=D0=D6=B5=C0=B4=B6=A8=
=D2=E5=BC=F2=B5=A5=B5=C4=CC=F5=BC=FE=A1=A3=CD=A8=B9=FD=C7=B0=D7=BA <FONT =

      color=3D#0000ff>:OLD</FONT> =BC=B0 <FONT =
color=3D#0000ff>:NEW</FONT>=20
      =
=BF=C9=D2=D4=D2=FD=D3=C3=C1=D0=B5=C4=BE=C9=D6=B5=BC=B0=D0=C2=D6=B5=A1=A3D=
ML =B4=A5=B7=A2=C6=F7=B0=FC=C0=A8=D2=D4=CF=C2=C0=E0=D0=CD=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
INSERT</FONT>=20
        =BC=B0 <FONT color=3D#0000ff>AFTER INSERT</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=C3=BF=B8=F6=D0=C2=B2=E5=C8=EB=CA=FD=BE=DD=B1=ED=B5=
=C4=CA=FD=BE=DD=D0=D0=BD=AB=D2=FD=B7=A2=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=A1=A3=
=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
UPDATE</FONT>=20
        =BC=B0 <FONT color=3D#0000ff>AFTER UPDATE</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=C3=BF=B8=F6=B1=BB=B8=FC=D0=C2=B5=C4=CA=FD=BE=DD=D0=
=D0=BD=AB=D2=FD=B7=A2=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
DELETE</FONT>=20
        =BC=B0 <FONT color=3D#0000ff>AFTER DELETE</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=C3=BF=B8=F6=B1=BB=C9=BE=B3=FD=B5=C4=CA=FD=BE=DD=D0=
=D0=BD=AB=D2=FD=B7=A2=B4=CB=C0=E0=B4=A5=B7=A2=C6=F7=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%">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%">
      <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/22.Triggers.htm#e.22.3.1.1"=20
          target=3D_self>Row Triggers</A>"=20
          <LI style=3D"MARGIN-BOTTOM: 10px">"<A=20
          =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/22.Triggers.htm#e.22.3.2"=20
          target=3D_self>BEFORE and AFTER Triggers</A>"=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
          Database Application Developer's Guide - Fundamentals</A> for =
more=20
          information about event publication using triggers on system =
events=20
          and user events </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/22.Triggers.htm#c.22.3.1.1"=20
          target=3D_self>=D0=D0=B4=A5=B7=A2=C6=F7</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/22.Triggers.htm#c.22.3.2"=20
          target=3D_self>BEFORE =B4=A5=B7=A2=C6=F7=D3=EB AFTER =
=B4=A5=B7=A2=C6=F7</A>=A1=B1=20
          <LI style=3D"MARGIN-BOTTOM: 10px"><A=20
          =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
51/toc.htm">Oracle=20
          Database Application Developer's Guide - Fundamentals</A>=20
          =
=C1=CB=BD=E2=C8=E7=BA=CE=CA=B9=D3=C3=CF=B5=CD=B3=CA=C2=BC=FE=BC=B0=D3=C3=BB=
=A7=CA=C2=BC=FE=C9=CF=B5=C4=B4=A5=B7=A2=C6=F7=BD=F8=D0=D0=CA=C2=BC=FE=B7=A2=
=B2=BC </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%">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%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3De.22.4></A>Trigger=20
      Execution</SPAN></H1></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H1><SPAN style=3D"FONT-SIZE: 20pt"><A name=3Dc.22.4></A>22.4=20
    =B4=A5=B7=A2=C6=F7=D6=B4=D0=D0</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%">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%">A =
trigger is in=20
      either of two distinct modes:<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D2=BB=B8=F6=B4=A5=B7=A2=C6=F7=D6=AE=BF=C9=C4=DC=B4=A6=D3=DA=
=D2=D4=CF=C2=C1=BD=D6=D6=D7=B4=CC=AC=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%">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%">
      <TABLE id=3Dtable20 width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD colSpan=3D2>
            <HR>
          </TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft width=3D114><B><FONT =
color=3D#0000ff>Trigger=20
            Mode</FONT></B><BR>=A1=A1</TD>
          <TD vAlign=3Dtop align=3Dleft><FONT=20
            color=3D#0000ff><B>Definition</B></FONT><BR>=A1=A1</TD></TR>
        <TR>
          <TD colSpan=3D2>
            <HR>
          </TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft =
width=3D114>Enabled<BR>=A1=A1</TD>
          <TD vAlign=3Dtop align=3Dleft>An enabled trigger runs its =
trigger action=20
            if a triggering statement is issued and the trigger =
restriction (if=20
            any) evaluates to true.<BR>=A1=A1</TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft =
width=3D114>Disabled<BR>=A1=A1</TD>
          <TD vAlign=3Dtop align=3Dleft>A disabled trigger does not run =
its=20
            trigger action, even if a triggering statement is issued and =
the=20
            trigger restriction (if any) would evaluate to=20
        true.<BR>=A1=A1</TD></TR></TBODY></TABLE>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <TABLE id=3Dtable21 width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD colSpan=3D2>
            <HR>
          </TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft width=3D114><FONT=20
            =
color=3D#0000ff><B>=B4=A5=B7=A2=C6=F7=D7=B4=CC=AC</B></FONT><BR>=A1=A1</T=
D>
          <TD vAlign=3Dtop align=3Dleft><FONT=20
          color=3D#0000ff><B>=B6=A8=D2=E5</B></FONT><BR>=A1=A1</TD></TR>
        <TR>
          <TD colSpan=3D2>
            <HR>
          </TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft =
width=3D114>=C6=F4=D3=C3[enabled]<BR>=A1=A1</TD>
          <TD vAlign=3Dtop =
align=3Dleft>=B5=B1=B4=A5=B7=A2=C6=F7=B4=A6=D3=DA=C6=F4=D3=C3=D7=B4=CC=AC=
=CA=B1=A3=AC=C8=E7=B9=FB=D3=D0=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
            =
statement]=B1=BB=CC=E1=BD=BB=A3=AC=C7=D2=B4=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=
=FE[trigger =
restriction]=CE=AA=D5=E6=A3=AC=B4=A5=B7=A2=B2=D9=D7=F7[trigger=20
            action]=BD=AB=B1=BB=D2=FD=B7=A2<BR>=A1=A1</TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft =
width=3D114>=BD=FB=D3=C3[disabled]<BR>=A1=A1</TD>
          <TD vAlign=3Dtop=20
            =
align=3Dleft>=B5=B1=B4=A5=B7=A2=C6=F7=B4=A6=D3=DA=BD=FB=D3=C3=D7=B4=CC=AC=
=CA=B1=A3=AC=C8=E7=B9=FB=D3=D0=B4=A5=B7=A2=D3=EF=BE=E4=B1=BB=CC=E1=BD=BB=A3=
=AC=C7=D2=B4=A5=B7=A2=CF=DE=D6=C6=CC=F5=BC=FE=CE=AA=D5=E6=A3=AC=B4=A5=B7=A2=
=B2=D9=D7=F7=D2=B2=B2=BB=BB=E1=B1=BB=D2=FD=B7=A2<BR>=A1=A1</TD></TR></TBO=
DY></TABLE>=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%">For =
enabled=20
      triggers, Oracle automatically performs the following actions:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Oracle runs triggers of each =
type in a=20
        planned firing sequence when more than one trigger is fired by a =
single=20
        SQL statement. First, statement level triggers are fired, and =
then row=20
        level triggers are fired.=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">Oracle performs integrity =
constraint=20
        checking at a set point in time with respect to the different =
types of=20
        triggers and guarantees that triggers cannot compromise =
integrity=20
        constraints.</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Oracle provides =
read-consistent views=20
        for queries and constraints.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Oracle manages the =
dependencies among=20
        triggers and schema objects referenced in the code of the =
trigger action=20

        <LI style=3D"MARGIN-BOTTOM: 10px">Oracle uses two-phase commit =
if a=20
        trigger updates remote tables in a distributed database.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Oracle fires multiple triggers =
in an=20
        unspecified, random order, if more than one trigger of the same =
type=20
        exists for a given statement; that is, triggers of the same type =
for the=20
        same statement are not guaranteed to fire in any specific order. =

    </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B6=D4=D3=DA=B4=A6=D4=DA=C6=F4=D3=C3=D7=B4=CC=AC=CF=C2=B5=C4=
=B4=A5=B7=A2=C6=F7=A3=ACOracle =
=BD=AB=D7=D4=B6=AF=B5=D8=D6=B4=D0=D0=D2=D4=CF=C2=B2=D9=D7=F7=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">=C8=E7=B9=FB=D2=BB=B8=F6 SQL =
=D3=EF=BE=E4=BD=AB=D2=FD=B7=A2=B6=E0=B8=F6=B2=BB=CD=AC=C0=E0=D0=CD=B4=A5=B7=
=A2=C6=F7=A3=ACOracle=20
        =
=BD=AB=B0=B4=D5=D5=B9=CC=B6=A8=B5=C4=B4=A5=B7=A2=CB=B3=D0=F2=D4=CB=D0=D0=B8=
=F7=D6=D6=C0=E0=D0=CD=B5=C4=B4=A5=B7=A2=C6=F7=A1=A3Oracle =
=CA=D7=CF=C8=D2=FD=B7=A2=D3=EF=BE=E4=BC=B6=B4=A5=B7=A2=C6=F7[statement =
level=20
        =
trigger]=A3=AC=D6=AE=BA=F3=D2=FD=B7=A2=D0=D0=BC=B6=B4=A5=B7=A2=C6=F7[row =
level trigger]=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">Oracle =
=D4=DA=D6=B4=D0=D0=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=BC=EC=B2=E9[integrity =
constraint=20
        =
check]=CA=B1=CA=B9=D3=C3=CA=FD=BE=DD=B5=C4=B6=C1=D2=BB=D6=C2=D0=D4=CA=D3=CD=
=BC[read-consistent=20
        =
view]=A3=AC=C4=DC=B9=BB=BB=F1=C8=A1=B8=F7=C0=E0=B4=A5=B7=A2=C6=F7=B6=D4=CA=
=FD=BE=DD=B5=C4=D0=DE=B8=C4=A3=AC=CD=AC=CA=B1=C8=B7=B1=A3=B4=A5=B7=A2=C6=F7=
=B2=BB=BB=E1=CE=A5=B1=B3=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=A1=A3</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Oracle=20
        =
=C4=DC=CE=AA=B2=E9=D1=AF[query]=BC=B0=D4=BC=CA=F8[constraint]=CC=E1=B9=A9=
=CA=FD=BE=DD=B5=C4=B6=C1=D2=BB=D6=C2=D0=D4=CA=D3=CD=BC[read-consistent =
view]=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Oracle =
=B8=BA=D4=F0=B9=DC=C0=ED=B4=A5=B7=A2=C6=F7=BC=B0=B4=A5=B7=A2=B2=D9=D7=F7[=
trigger=20
        =
action]=B4=FA=C2=EB=C4=DA=D2=FD=D3=C3=B5=C4=B7=BD=B0=B8=B6=D4=CF=F3[schem=
a object]=B5=C4=D2=C0=C0=B5=D0=D4[dependency]=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=C8=E7=B9=FB=B4=A5=B7=A2=C6=F7=B6=D4=D4=B6=B3=CC=CA=FD=BE=DD=BF=E2=B1=
=ED=BD=F8=D0=D0=D0=DE=B8=C4=A3=ACOracle=20
        =BD=AB=B2=C9=C8=A1=C1=BD=B2=BD=CC=E1=BD=BB[two-phase =
commit]=B5=C4=B7=BD=CA=BD=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=C8=E7=B9=FB=D2=BB=B8=F6 SQL =
=D3=EF=BE=E4=BD=AB=D2=FD=B7=A2=B6=E0=B8=F6=CF=E0=CD=AC=C0=E0=D0=CD=B4=A5=B7=
=A2=C6=F7=A3=ACOracle=20
        =
=D4=CB=D0=D0=B8=F7=B4=A5=B7=A2=C6=F7=B5=C4=CB=B3=D0=F2=CA=C7=CB=E6=BB=FA=B5=
=C4=A1=A3=BC=B4 Oracle =
=B2=BB=B1=A3=D6=A4=CD=AC=D2=BB=D3=EF=BE=E4=B4=A5=B7=A2=B5=C4=CD=AC=C0=E0=B4=
=A5=B7=A2=C6=F7=B5=C4=D6=B4=D0=D0=CB=B3=D0=F2=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%">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%">
      <H2><A name=3De.22.4.1></A>The Execution Model for Triggers and =
Integrity=20
      Constraint Checking</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.4.1></A>22.4.1 =
=B4=A5=B7=A2=C6=F7=BC=B0=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=BC=EC=B2=E9=B5=C4=D6=
=B4=D0=D0=C4=A3=CA=BD</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%">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%">A =
single SQL=20
      statement can potentially fire up to four types of triggers:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
row</FONT>=20
        triggers=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE=20
        statement</FONT> triggers=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>AFTER =
row</FONT>=20
        triggers=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>AFTER=20
        statement</FONT> triggers </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">=D2=BB=B8=F6 SQL =
=D3=EF=BE=E4=BF=C9=C4=DC=D2=FD=B7=A2=D2=D4=CF=C2=CB=C4=C0=E0=B4=A5=B7=A2=C6=
=F7=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
row</FONT>=20
        =B4=A5=B7=A2=C6=F7=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE=20
        statement</FONT> =B4=A5=B7=A2=C6=F7=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>AFTER =
row</FONT> =B4=A5=B7=A2=C6=F7=20

        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>AFTER=20
        statement</FONT> =B4=A5=B7=A2=C6=F7 </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%">A =
triggering=20
      statement or a statement within a trigger can cause one or more =
integrity=20
      constraints to be checked. Also, triggers can contain statements =
that=20
      cause other triggers to fire (cascading triggers).<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
      =
statement]=BC=B0=B4=A5=B7=A2=C6=F7=C4=DA=B5=C4=D3=EF=BE=E4=BF=C9=C4=DC=BB=
=E1=B5=BC=D6=C2=D2=BB=B8=F6=BB=F2=B6=E0=B8=F6=CD=EA=D5=FB=D0=D4=BC=EC=B2=E9=
[integrity constraint=20
      =
checking]=B2=D9=D7=F7=A1=A3=CD=AC=D1=F9=A3=AC=B4=A5=B7=A2=C6=F7=C4=DA=B5=C4=
=D3=EF=BE=E4=BB=B9=BF=C9=C4=DC=D2=FD=B7=A2=C6=E4=CB=FB=B4=A5=B7=A2=C6=F7=A3=
=A8=C1=AC=CB=F8=B4=A5=B7=A2[cascading =
trigger]=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%">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%">Oracle =
uses the=20
      following execution model to maintain the proper firing sequence =
of=20
      multiple triggers and constraint checking:
      <OL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Run all <FONT =
color=3D#0000ff>BEFORE=20
        statement</FONT> triggers that apply to the statement.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Loop for each row affected by =
the SQL=20
        statement.<BR><BR>
        <OL>
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da>Run all <FONT=20
          color=3D#0000ff>BEFORE row</FONT> triggers that apply to the =
statement.=20
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da>Lock and change =
row, and=20
          perform integrity constraint checking. (The lock is not =
released until=20
          the transaction is committed.=20
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da>Run all <FONT=20
          color=3D#0000ff>AFTER row</FONT> triggers that apply to the =
statement.=20
          </LI></OL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Complete deferred integrity =
constraint=20
        checking.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Run all <FONT =
color=3D#0000ff>AFTER=20
        statement</FONT> triggers that apply to the statement. =
</LI></OL></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle=20
      =
=D6=B4=D0=D0=B8=F7=C0=E0=B4=A5=B7=A2=C6=F7=BC=B0=CF=E0=B9=D8=CD=EA=D5=FB=D0=
=D4=D4=BC=CA=F8=BC=EC=B2=E9=B5=C4=C4=A3=CA=BD=C8=E7=CF=C2=A3=AC=B4=CB=D6=B4=
=D0=D0=C4=A3=CA=BD[execution =
model]=C8=B7=B1=A3=C1=CB=B8=F7=C0=E0=B4=A5=B7=A2=C6=F7=BC=B0=CF=E0=B9=D8=CD=
=EA=D5=FB=D0=D4=D4=BC=CA=F8=BC=EC=B2=E9=B5=C4=D5=FD=C8=B7=D6=B4=D0=D0=CB=B3=
=D0=F2=A3=BA
      <OL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D6=B4=D0=D0=D3=EB=D3=EF=BE=E4=CF=E0=B9=D8=B5=C4=CB=F9=D3=D0 <FONT =
color=3D#0000ff>BEFORE=20
        statement</FONT> =B4=A5=B7=A2=C6=F7=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B6=D4=B4=A5=B7=A2=D3=EF=BE=E4=CB=F9=D3=B0=CF=EC=B5=C4=C3=BF=B8=F6=CA=
=FD=BE=DD=D0=D0=D1=AD=BB=B7=D6=B4=D0=D0=D2=D4=CF=C2=B2=D9=D7=F7=A3=BA<BR>=
<BR>
        <OL>
          <LI style=3D"MARGIN-BOTTOM: 10px" =
type=3Da>=D6=B4=D0=D0=D3=EB=D3=EF=BE=E4=CF=E0=B9=D8=B5=C4=CB=F9=D3=D0 =
<FONT=20
          color=3D#0000ff>BEFORE row</FONT> =B4=A5=B7=A2=C6=F7=A1=A3=20
          <LI style=3D"MARGIN-BOTTOM: 10px"=20
          =
type=3Da>=B6=D4=CA=FD=BE=DD=D0=D0=BC=D3=CB=F8=B2=A2=BD=F8=D0=D0=D0=DE=B8=C4=
=A3=AC=D6=AE=BA=F3=D6=B4=D0=D0=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=BC=EC=B2=E9=A1=
=A3=A3=A8=CB=F8=D6=B1=D6=C1=CA=C2=CE=F1=CC=E1=BD=BB=CA=B1=B2=C5=B1=BB=CA=CD=
=B7=C5=A1=A3=A3=A9=20
          <LI style=3D"MARGIN-BOTTOM: 10px" =
type=3Da>=D6=B4=D0=D0=D3=EB=D3=EF=BE=E4=CF=E0=B9=D8=B5=C4=CB=F9=D3=D0 =
<FONT=20
          color=3D#0000ff>AFTER row</FONT> =B4=A5=B7=A2=C6=F7=A1=A3 =
</LI></OL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D6=B4=D0=D0=D1=D3=B3=D9=B5=C4=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=BC=EC=B2=
=E9[deferred integrity=20
        constraint checking]=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=D6=B4=D0=D0=D3=EB=D3=EF=BE=E4=CF=E0=B9=D8=B5=C4=CB=F9=D3=D0 <FONT =
color=3D#0000ff>AFTER=20
        statement</FONT> =B4=A5=B7=A2=C6=F7=A1=A3 </LI></OL></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%">The =
definition of=20
      the execution model is recursive. For example, a given SQL =
statement can=20
      cause a <FONT color=3D#0000ff>BEFORE row</FONT> trigger to be =
fired and an=20
      integrity constraint to be checked. That <FONT =
color=3D#0000ff>BEFORE=20
      row</FONT> trigger, in turn, might perform an update that causes =
an=20
      integrity constraint to be checked and an <FONT =
color=3D#0000ff>AFTER=20
      statement</FONT> trigger to be fired. The <FONT =
color=3D#0000ff>AFTER=20
      statement</FONT> trigger causes an integrity constraint to be =
checked. In=20
      this case, the execution model runs the steps recursively, as=20
    follows:<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C9=CF=CA=F6=D6=B4=D0=D0=C4=A3=CA=BD=CA=C7=BF=C9=B5=DD=B9=E9=
=B5=C4[recursive]=A1=A3=C0=FD=C8=E7=A3=AC=CF=D6=D3=D0=D2=BB SQL=20
      =D3=EF=BE=E4=A3=AC=C4=DC=B9=BB=D2=FD=B7=A2=D2=BB=B8=F6 <FONT =
color=3D#0000ff>BEFORE row</FONT> =
=B4=A5=B7=A2=C6=F7=BC=B0=D2=BB=B8=F6=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=BC=EC=B2=
=E9=A1=A3=C6=E4=D2=FD=B7=A2=B5=C4 <FONT=20
      color=3D#0000ff>BEFORE row</FONT> =
=B4=A5=B7=A2=C6=F7=BD=AB=D6=B4=D0=D0=D2=BB=B8=F6=B8=FC=D0=C2=B2=D9=D7=F7=A3=
=AC=B4=CB=B8=FC=D0=C2=B2=D9=D7=F7=BF=C9=C4=DC=BB=E1=D2=FD=B7=A2=D2=BB=B8=F6=
 <FONT=20
      color=3D#0000ff>AFTER statement</FONT> =
=B4=A5=B7=A2=C6=F7=BC=B0=B5=DA=B6=FE=B8=F6=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=BC=
=EC=B2=E9=A1=A3=B6=F8 <FONT=20
      color=3D#0000ff>AFTER statement</FONT>=20
      =
=B4=A5=B7=A2=C6=F7=D3=D6=BD=AB=D2=FD=C6=F0=B5=DA=C8=FD=B8=F6=CD=EA=D5=FB=D0=
=D4=D4=BC=CA=F8=BC=EC=B2=E9=A1=A3=B4=CB=CA=BE=C0=FD=CC=E5=CF=D6=C1=CB=D6=B4=
=D0=D0=C4=A3=CA=BD=B5=C4=B5=DD=B9=E9=D0=D4=A3=AC=C8=E7=CF=C2=CB=F9=CA=F6=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-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%">Original SQL=20
      statement issued.
      <OL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><FONT color=3D#0000ff>BEFORE =
row</FONT>=20
        triggers fired.<BR><BR>
        <OL>
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da><FONT =
color=3D#0000ff>AFTER=20
          statement</FONT> triggers fired by <FONT =
color=3D#0000ff>UPDATE</FONT>=20
          in <FONT color=3D#0000ff>BEFORE row</FONT> trigger.<BR><BR>
          <OL>
            <LI style=3D"MARGIN-BOTTOM: 10px" type=3Di>Statements of =
<FONT=20
            color=3D#0000ff>AFTER statement</FONT> triggers run.=20
            <LI style=3D"MARGIN-BOTTOM: 10px" type=3Di>Integrity =
constraint checked=20
            on tables changed by <FONT color=3D#0000ff>AFTER =
statement</FONT>=20
            triggers. </LI></OL>
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da><SPAN=20
          style=3D"BACKGROUND-COLOR: #ffff00">Statements of </SPAN><FONT =

          color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: =
#ffff00">BEFORE=20
          row</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
triggers=20
          run.</SPAN>=20
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da>Integrity =
constraint checked on=20
          tables changed by <FONT color=3D#0000ff>BEFORE row</FONT> =
triggers.=20
        </LI></OL>
        <LI style=3D"MARGIN-BOTTOM: 10px">SQL statement run.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Integrity constraint from SQL =
statement=20
        checked. </LI></OL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=CA=D7=CF=C8=A3=AC=B3=F5=CA=BC=B5=C4 SQL =
=D3=EF=BE=E4=B1=BB=CC=E1=BD=BB=A3=BA
      <OL>
        <LI style=3D"MARGIN-BOTTOM: 10px">=D2=FD=B7=A2 <FONT =
color=3D#0000ff>BEFORE row</FONT>=20
        =B4=A5=B7=A2=C6=F7=A1=A3<BR><BR>
        <OL>
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da><FONT =
color=3D#0000ff>BEFORE=20
          row</FONT> =B4=A5=B7=A2=C6=F7=C4=DA=B5=C4 <FONT =
color=3D#0000ff>UPDATE</FONT> =D3=EF=BE=E4=D2=FD=B7=A2 <FONT=20
          color=3D#0000ff>AFTER statement</FONT> =
=B4=A5=B7=A2=C6=F7<BR><BR>
          <OL>
            <LI style=3D"MARGIN-BOTTOM: 10px" type=3Di><FONT =
color=3D#0000ff>AFTER=20
            statement</FONT> =
=B4=A5=B7=A2=C6=F7=C4=DA=B5=C4=D3=EF=BE=E4=D6=B4=D0=D0=A1=A3=20
            <LI style=3D"MARGIN-BOTTOM: 10px" type=3Di>=B1=BB <FONT =
color=3D#0000ff>AFTER=20
            statement</FONT> =
=B4=A5=B7=A2=C6=F7=CB=F9=D0=DE=B8=C4=B5=C4=B1=ED=C9=CF=B5=C4=CD=EA=D5=FB=D0=
=D4=D4=BC=CA=F8=D6=B4=D0=D0=BC=EC=B2=E9 =A1=A3 </LI></OL>
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da><SPAN=20
          style=3D"BACKGROUND-COLOR: #ffff00">=D6=B4=D0=D0 </SPAN><FONT =
color=3D#0000ff><SPAN=20
          style=3D"BACKGROUND-COLOR: #ffff00">BEFORE =
row</SPAN></FONT><SPAN=20
          style=3D"BACKGROUND-COLOR: #ffff00"> =
=B4=A5=B7=A2=C6=F7=C4=DA=B5=C4=C6=E4=CB=FB=D3=EF=BE=E4=A1=A3</SPAN>=20
          <LI style=3D"MARGIN-BOTTOM: 10px" type=3Da><FONT =
color=3D#0000ff>BEFORE=20
          row</FONT> =B4=A5=B7=A2=C6=F7=C4=DA=B5=C4 <FONT =
color=3D#0000ff>UPDATE</FONT> =
=D3=EF=BE=E4=CB=F9=D0=DE=B8=C4=B5=C4=B1=ED=C9=CF=B5=C4=CD=EA=D5=FB=D0=D4=D4=
=BC=CA=F8=D6=B4=D0=D0=BC=EC=B2=E9=A1=A3=20
          </LI></OL>
        <LI style=3D"MARGIN-BOTTOM: 10px">=B3=F5=CA=BC SQL =
=D3=EF=BE=E4=D6=B4=D0=D0=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: 10px">=B3=F5=CA=BC SQL =
=D3=EF=BE=E4=B5=C4=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=D6=B4=D0=D0=BC=EC=B2=E9=A1=
=A3 </LI></OL></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%">There =
are two=20
      exceptions to this recursion:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">When a triggering statement =
modifies=20
        one table in a referential constraint (either the primary key or =
foreign=20
        key table), and a triggered statement modifies the other, only =
the=20
        triggering statement will check the integrity constraint. This =
allows=20
        row triggers to enhance referential integrity.</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">Statement triggers fired due =
to=20
        </SPAN><FONT color=3D#0000ff><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">DELETE =
CASCADE</SPAN></FONT><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00"> and </SPAN><FONT =
color=3D#0000ff><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">DELETE SET =
NULL</SPAN></FONT><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00"> are fired before and after =
the user=20
        </SPAN><FONT color=3D#0000ff><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">DELETE</SPAN></FONT><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00"> statement, not before and =
after the=20
        individual enforcement statements. This prevents those statement =

        triggers from encountering mutating errors.</SPAN> =
</LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B5=DD=B9=E9=B5=C4=D6=B4=D0=D0=C4=A3=CA=BD=D3=D0=D2=D4=CF=C2=
=C1=BD=B8=F6=CC=D8=C0=FD=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=B5=B1=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
        =
statement]=D0=DE=B8=C4=C1=CB=D2=FD=D3=C3=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=B9=
=D8=CF=B5=D6=D0=B5=C4=D2=BB=B8=F6=B1=ED=A3=A8=BC=C8=BF=C9=D2=D4=CA=C7=D6=F7=
=BC=FC=B1=ED[primary key =
table]=A3=AC=D2=B2=BF=C9=D2=D4=CA=C7=CD=E2=BC=FC=B1=ED[foreign=20
        key =
table]=A3=A9=A3=AC=B6=F8=B4=A5=B7=A2=B2=D9=D7=F7=D3=EF=BE=E4[triggered=20
        =
statement]=D0=DE=B8=C4=C1=CB=C1=ED=D2=BB=B8=F6=B1=ED=CA=B1=A3=AC=D6=BB=D3=
=D0=B4=A5=B7=A2=D3=EF=BE=E4=BB=E1=D2=FD=B7=A2=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=
=BC=EC=B2=E9=A1=A3=B8=F9=BE=DD=B4=CB=CC=D8=D0=D4=A3=AC=D3=C3=BB=A7=BF=C9=D2=
=D4=CA=B9=D3=C3=D0=D0=B4=A5=B7=A2=C6=F7=CA=B5=CF=D6=B9=A6=C4=DC=B8=FC=B7=E1=
=B8=BB=B5=C4=D2=FD=D3=C3=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=B2=D9=D7=F7[refere=
ntial=20
        action]=A1=A3</SPAN>=20
        <LI style=3D"MARGIN-BOTTOM: 10px"><SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=C8=E7=B9=FB=D3=C3=BB=A7=CC=E1=BD=BB=B5=C4 </SPAN><FONT=20
        color=3D#0000ff><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">DELETE</SPAN></FONT><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00"> =
=D3=EF=BE=E4=BD=AB=B5=BC=D6=C2 </SPAN><FONT=20
        color=3D#0000ff><SPAN style=3D"BACKGROUND-COLOR: #ffff00">DELETE =

        CASCADE</SPAN></FONT><SPAN style=3D"BACKGROUND-COLOR: #ffff00"> =
=BB=F2=20
        </SPAN><FONT color=3D#0000ff><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">DELETE =
CASCADE</SPAN></FONT><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00"> =
=B2=D9=D7=F7=A3=AC=C4=C7=C3=B4=D3=C9=D7=C5=C1=BD=D6=D6=B2=D9=D7=F7=CB=F9=D2=
=FD=B7=A2=B5=C4=D3=EF=BE=E4=BC=B6=A3=A8<FONT=20
        color=3D#0000ff>BEFORE</FONT></SPAN><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00"> =BB=F2 </SPAN><FONT =
color=3D#0000ff><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">AFTER</SPAN></FONT><SPAN=20
        style=3D"BACKGROUND-COLOR: =
#ffff00">=A3=A9=B4=A5=B7=A2=C6=F7=BD=AB=D4=DA=D3=C3=BB=A7=CC=E1=BD=BB=B5=C4=
 </SPAN><FONT=20
        color=3D#0000ff><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">DELETE</SPAN></FONT><SPAN=20
        style=3D"BACKGROUND-COLOR: #ffff00">=20
        =
=D3=EF=BE=E4=D6=B4=D0=D0=D6=AE=C7=B0=BB=F2=D6=AE=BA=F3=B1=BB=B4=A5=B7=A2=A3=
=AC=B6=F8=B2=BB=CA=C7=D4=DA=D6=B4=D0=D0=D5=E2=C1=BD=D6=D6=B2=D9=D7=F7=C7=B0=
=BA=F3=B1=BB=B4=A5=B7=A2=A1=A3=D5=E2=C4=DC=B1=DC=C3=E2=C1=BD=D6=D6=B2=D9=D7=
=F7=CB=F9=D2=FD=B7=A2=B5=C4=D3=EF=BE=E4=BC=B6=B4=A5=B7=A2=C6=F7=D4=DA=D6=B4=
=D0=D0=D6=D0=D3=F6=B5=BD=CE=CA=CC=E2=A1=A3</SPAN>=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%">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%">An =
important=20
      property of the execution model is that all actions and checks =
done as a=20
      result of a SQL statement must succeed. If an exception is raised =
within a=20
      trigger, and the exception is not explicitly handled, all actions=20
      performed as a result of the original SQL statement, including the =
actions=20
      performed by fired triggers, are rolled back. Thus, integrity =
constraints=20
      cannot be compromised by triggers. <SPAN=20
      style=3D"BACKGROUND-COLOR: #ffff00">The execution model takes into =
account=20
      integrity constraints and disallows triggers that violate =
declarative=20
      integrity constraints.</SPAN><BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft=20
      =
width=3D"48%">=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0=C4=A3=CA=BD=B5=C4=D2=BB=B8=F6=
=D6=D8=D2=AA=CC=D8=D0=D4=CA=C7=A3=BA=B4=A5=B7=A2=D3=EF=BE=E4=D2=FD=C6=F0=B5=
=C4=CB=F9=D3=D0=B4=A5=B7=A2=B2=D9=D7=F7=BC=B0=CD=EA=D5=FB=D0=D4=BC=EC=B2=E9=
=B1=D8=D0=EB=C8=AB=B2=BF=B3=C9=B9=A6=D6=B4=D0=D0=A1=A3=C8=E7=B9=FB=C4=B3=B8=
=F6=B4=A5=B7=A2=B2=D9=D7=F7=D6=D0=B3=F6=CF=D6=D2=EC=B3=A3[exception]=A3=AC=
=C7=D2=B4=CB=D2=EC=B3=A3=C3=BB=D3=D0=B1=BB=CF=D4=CA=BD=B5=D8=B4=A6=C0=ED=A3=
=AC=C4=C7=C3=B4=B4=A5=B7=A2=D3=EF=BE=E4=D6=B4=D0=D0=B5=C4=CB=F9=D3=D0=B2=D9=
=D7=F7=BC=B0=CF=E0=B9=D8=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0=B5=C4=CB=F9=D3=D0=B2=
=D9=D7=F7=B6=BC=BB=E1=B1=BB=BB=D8=B9=F6[roll=20
      =
back]=A1=A3=D0=E8=D2=AA=D7=A2=D2=E2=A3=AC=B4=A5=B7=A2=B2=D9=D7=F7=D2=B2=B2=
=BB=C4=DC=CE=A5=B7=B4=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=A1=A3=CD=EA=D5=FB=D0=D4=
=D4=BC=CA=F8=D4=DA=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0=C4=A3=CA=BD=D6=D0=CD=AC=D1=
=F9=D3=D0=D0=A7=A3=AC=D2=F2=B4=CB=CE=A5=B7=B4=CD=EA=D5=FB=D0=D4=D4=BC=CA=F8=
=B5=C4=B4=A5=B7=A2=B2=D9=D7=F7=CE=DE=B7=A8=B3=C9=B9=A6=D6=B4=D0=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%">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%">For =
example, in the=20
      previously outlined scenario, suppose that the integrity =
constraint is=20
      violated. As a result of this violation, all changes made by the =
SQL=20
      statement, the fired <FONT color=3D#0000ff>BEFORE row</FONT> =
trigger, and=20
      the fired <FONT color=3D#0000ff>AFTER statement</FONT> trigger are =
rolled=20
      back.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=C0=FD=C8=E7=A3=AC=D4=DA=C7=B0=C3=E6=CB=F9=CA=F6=B5=C4=CA=BE=
=C0=FD=D6=D0=A3=AC=C8=E7=B9=FB=B3=F6=CF=D6=C1=CB=CE=A5=B7=B4=CD=EA=D5=FB=D0=
=D4=D4=BC=CA=F8=B5=C4=B2=D9=D7=F7=BD=E1=B9=FB=A3=AC=B3=F5=CA=BC=20
      SQL =D3=EF=BE=E4=A3=AC<FONT color=3D#0000ff>BEFORE row</FONT> =
=B4=A5=B7=A2=C6=F7=A3=AC=BC=B0 <FONT=20
      color=3D#0000ff>AFTER statement</FONT> =
=B4=A5=B7=A2=C6=F7=CB=F9=D7=F6=B5=C4=CB=F9=D3=D0=D0=DE=B8=C4=B6=BC=BB=E1=B1=
=BB=BB=D8=B9=F6=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%">
      <BLOCKQUOTE><B>Note:</B><BR><BR>Although triggers of different =
types are=20
        fired in a specific order, triggers of the same type for the =
same=20
        statement are not guaranteed to fire in any specific order. For =
example,=20
        all <FONT color=3D#0000ff>BEFORE row</FONT> triggers for a =
single <FONT=20
        color=3D#0000ff>UPDATE</FONT> statement may not always fire in =
the same=20
        order. Design your applications so they do not rely on the =
firing order=20
        of multiple triggers of the same type.</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      =
<BLOCKQUOTE><B>=CC=E1=CA=BE=A3=BA</B><BR><BR>=B2=BB=CD=AC=C0=E0=D0=CD=B5=C4=
=B4=A5=B7=A2=C6=F7=BC=E4=B4=E6=D4=DA=B9=CC=B6=A8=B5=C4=B4=A5=B7=A2=CB=B3=D0=
=F2=A3=AC=B5=AB Oracle=20
        =
=B2=BB=B1=A3=D6=A4=CD=AC=C0=E0=D0=CD=B4=A5=B7=A2=C6=F7=D2=D4=CC=D8=B6=A8=B5=
=C4=CB=B3=D0=F2=B1=BB=B4=A5=B7=A2=A1=A3=C0=FD=C8=E7=A3=AC=D2=BB=B8=F6 =
<FONT color=3D#0000ff>UPDATE</FONT> =D3=EF=BE=E4=B5=C4=B6=E0=B8=F6 <FONT =

        color=3D#0000ff>BEFORE row</FONT>=20
        =
=B4=A5=B7=A2=C6=F7=B2=BB=B1=A3=D6=A4=D7=DC=D2=D4=CD=AC=D1=F9=B5=C4=CB=B3=D0=
=F2=B1=BB=B4=A5=B7=A2=A1=A3=BF=AA=B7=A2=D5=DF=D3=A6=C8=B7=B1=A3=D3=A6=D3=C3=
=B3=CC=D0=F2=B2=BB=D2=AA=C7=F3=CD=AC=C0=E0=B4=A5=B7=A2=C6=F7=B1=D8=D0=EB=B0=
=B4=D2=BB=B6=A8=CB=B3=D0=F2=D6=B4=D0=D0=A1=A3</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%">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%">
      <H2><A name=3De.22.4.2></A>Data Access for Triggers</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.4.2></A>22.4.2 =
=B4=A5=B7=A2=C6=F7=B5=C4=CA=FD=BE=DD=B7=C3=CE=CA</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%">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%">When a =
trigger is=20
      fired, the tables referenced in the trigger action might be =
currently=20
      undergoing changes by SQL statements in other users' transactions. =
In all=20
      cases, the SQL statements run within triggers follow the common =
rules used=20
      for standalone SQL statements. In particular, if an uncommitted=20
      transaction has modified values that a trigger being fired either =
needs to=20
      read (query) or write (update), then the SQL statements in the =
body of the=20
      trigger being fired use the following guidelines:
      <UL>
        <LI style=3D"MARGIN-BOTTOM: 10px">Queries see the current =
read-consistent=20
        materialized view of referenced tables and any data changed =
within the=20
        same transaction.=20
        <LI style=3D"MARGIN-BOTTOM: 10px">Updates wait for existing data =
locks to=20
        be released before proceeding. </LI></UL></TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=B5=B1=B4=A5=B7=A2=C6=F7=B1=BB=B4=A5=B7=A2=D6=B4=D0=D0=CA=B1=
=A3=AC=B4=A5=B7=A2=B2=D9=D7=F7[trigger=20
      =
action]=CB=F9=D2=FD=D3=C3=B5=C4=B1=ED=BF=C9=C4=DC=D4=DA=CD=AC=CA=B1=B1=BB=
=C6=E4=CB=FB=D3=C3=BB=A7=CA=C2=CE=F1=B5=C4 SQL =
=D3=EF=BE=E4=D0=DE=B8=C4=A1=A3=CE=DE=C2=DB=BA=CE=D6=D6=B4=A5=B7=A2=C6=F7=A3=
=AC=C6=E4=D6=D0=B5=C4 SQL =D3=EF=BE=E4=D3=EB=C6=D5=CD=A8 SQL=20
      =
=D3=EF=BE=E4=D7=F1=D1=AD=CD=EA=C8=AB=CF=E0=CD=AC=B5=C4=B2=A2=B7=A2=B7=C3=CE=
=CA=B9=E6=D4=F2=A1=A3=C0=FD=C8=E7=A3=AC=C8=E7=B9=FB=B4=A5=B7=A2=B2=D9=D7=F7=
=D0=E8=D2=AA=B6=C1=A3=A8=B2=E9=D1=AF=A3=A9=BB=F2=D0=B4=A3=A8=B8=FC=D0=C2=A3=
=A9=B1=BB=CE=B4=CC=E1=BD=BB=CA=C2=CE=F1[uncommitted=20
      =
transaction]=D0=DE=B8=C4=B5=C4=CA=FD=BE=DD=CA=B1=A3=AC=C4=C7=C3=B4=B4=A5=B7=
=A2=B2=D9=D7=F7=C4=DA=B5=C4 SQL =
=D3=EF=BE=E4=D7=F1=D1=AD=D2=D4=CF=C2=B9=E6=D4=F2=A3=BA
      <UL>
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B2=E9=D1=AF=B2=D9=D7=F7=B7=C3=CE=CA=B5=C4=CA=C7=B1=BB=B4=A5=B7=A2=C6=
=F7=CB=F9=D2=FD=D3=C3=B5=C4=B1=ED[referenced=20
        =
table]=B5=C4=B5=B1=C7=B0=B6=C1=D2=BB=D6=C2=D0=D4=CA=D3=CD=BC[current =
read-consistent materialized=20
        =
view]=A3=AC=D2=B2=BF=C9=D2=D4=B7=C3=CE=CA=B5=BD=B4=A5=B7=A2=D3=EF=BE=E4=CB=
=F9=D4=DA=CA=C2=CE=F1=C4=DA=B1=BB=D0=DE=B8=C4=B5=C4=C8=CE=BA=CE=CA=FD=BE=DD=
=A1=A3=20
        <LI style=3D"MARGIN-BOTTOM: =
10px">=B8=FC=D0=C2=B2=D9=D7=F7=B1=D8=D0=EB=B5=C8=B4=FD=D2=D1=B4=E6=D4=DA=B5=
=C4=CA=FD=BE=DD=CB=F8=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%">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%">
      <H2><A name=3De.22.4.3></A>Storage of PL/SQL Triggers</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.4.3></A>22.4.3 PL/SQL =
=B4=A5=B7=A2=C6=F7=B5=C4=B4=E6=B4=A2</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%">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%">Oracle =
stores PL/SQL=20
      triggers in compiled form, just like stored procedures. When a =
<FONT=20
      color=3D#0000ff>CREATE TRIGGER</FONT> statement commits, the =
compiled PL/SQL=20
      code, called P code (for pseudocode), is stored in the database =
and the=20
      source code of the trigger is flushed from the shared =
pool.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle =B4=E6=B4=A2 =
PL/SQL=20
      =
=B4=A5=B7=A2=C6=F7=B1=E0=D2=EB=BA=F3=B5=C4=D0=CE=CA=BD=A3=AC=D5=E2=CD=AC=C6=
=E4=CB=FB=B4=E6=B4=A2=B9=FD=B3=CC=B5=C4=B4=E6=B4=A2=B7=BD=CA=BD=CF=E0=CD=AC=
=A1=A3=B5=B1=D3=C3=BB=A7=CC=E1=BD=BB <FONT color=3D#0000ff>CREATE =
TRIGGER</FONT>=20
      =D3=EF=BE=E4=CA=B1=A3=AC=B1=E0=D2=EB=BA=F3=B5=C4 PL/SQL =
=B4=FA=C2=EB=A3=A8=D5=E2=D6=D6=B4=FA=C2=EB=B1=BB=B3=C6=CE=AA P =
code=A3=AC=BC=B4 =
pseudocode=A3=A9=BB=E1=B1=BB=B4=E6=B4=A2=B5=BD=CA=FD=BE=DD=BF=E2=D6=D0=A3=
=AC=B6=F8=B4=A5=B7=A2=C6=F7=B5=C4=D4=B4=B4=FA=C2=EB[source=20
      code]=BD=AB=B1=BB=B4=D3=B9=B2=CF=ED=B3=D8[shared =
pool]=D6=D0=C7=E5=B3=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%">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%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
61/toc.htm">Oracle=20
        Database PL/SQL User's Guide and Reference</A> for more =
information=20
        about compiling and storing PL/SQL code</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-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
61/toc.htm">Oracle=20
        Database PL/SQL User's Guide and Reference</A> =C1=CB=BD=E2 =
PL/SQL=20
      =
=B4=FA=C2=EB=CA=C7=C8=E7=BA=CE=B4=E6=B4=A2=BC=B0=B1=E0=D2=EB=B5=C4</BLOCK=
QUOTE></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%">
      <H2><A name=3De.22.4.4></A>Execution of Triggers</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.4.4></A>22.4.4 =
=B4=A5=B7=A2=C6=F7=B5=C4=D4=CB=D0=D0</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%">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%">Oracle =
runs a=20
      trigger internally using the same steps used for procedure =
execution. The=20
      only subtle difference is that a user has the right to fire a =
trigger if=20
      he or she has the privilege to run the triggering statement. Other =
than=20
      this, triggers are validated and run the same way as stored=20
      procedures.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">Oracle=20
      =
=D6=B4=D0=D0=B4=A5=B7=A2=B2=D9=D7=F7=B5=C4=B2=BD=D6=E8=D3=EB=D6=B4=D0=D0=C6=
=D5=CD=A8=B9=FD=B3=CC=B5=C4=B2=BD=D6=E8=CF=E0=CD=AC=A1=A3=B5=AB=B6=FE=D5=DF=
=BC=E4=B4=E6=D4=DA=D2=BB=B8=F6=CE=A2=D0=A1=C7=F8=B1=F0=A3=AC=D6=BB=D2=AA=D3=
=D0=C8=A8=CF=DE=D6=B4=D0=D0=B4=A5=B7=A2=D3=EF=BE=E4[triggering=20
      =
statement]=B5=C4=D3=C3=BB=A7=BE=CD=D3=D0=C8=A8=CF=DE=D2=FD=B7=A2=B4=A5=B7=
=A2=C6=F7=D6=B4=D0=D0=A1=A3=B3=FD=B4=CB=D6=AE=CD=E2=A3=AC=B4=A5=B7=A2=C6=F7=
=B5=C4=D1=E9=D6=A4[validate]=D3=EB=D4=CB=D0=D0[run]=BE=F9=D3=EB=B4=E6=B4=A2=
=B9=FD=B3=CC=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%">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%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR><A=20
        =
href=3D"http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
61/toc.htm">Oracle=20
        Database PL/SQL User's Guide and Reference</A> for more =
information=20
        about stored procedures</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-west.oracle.com/docs/cd/B19306_01/appdev.102/b142=
61/toc.htm">Oracle=20
        Database PL/SQL User's Guide and Reference</A>=20
  =
=C1=CB=BD=E2=B9=D8=D3=DA=B4=E6=B4=A2=B9=FD=B3=CC=B5=C4=D0=C5=CF=A2</BLOCK=
QUOTE></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%">
      <H2><A name=3De.22.4.5></A>Dependency Maintenance for =
Triggers</H2></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <H2><A name=3Dc.22.4.5></A>22.4.5 =
=B4=A5=B7=A2=C6=F7=D2=C0=C0=B5=D0=D4=B5=C4=CE=AC=BB=A4</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%">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%">Like =
procedures,=20
      triggers depend on referenced objects. Oracle automatically =
manages the=20
      dependencies of a trigger on the schema objects referenced in its =
trigger=20
      action. The dependency issues for triggers are the same as those =
for=20
      stored procedures. Triggers are treated like stored procedures. =
They are=20
      inserted into the data dictionary.<BR>=A1=A1</TD>
    <TD vAlign=3Dtop align=3Dleft =
width=3D"48%">=D3=EB=B4=E6=B4=A2=B9=FD=B3=CC=C0=E0=CB=C6=A3=AC=B4=A5=B7=A2=
=C6=F7=D2=B2=D2=C0=C0=B5=D3=DA=D2=FD=D3=C3=B6=D4=CF=F3[referenced=20
      object]=A1=A3Oracle =
=C4=DC=B9=BB=D7=D4=B6=AF=B5=D8=B9=DC=C0=ED=B4=A5=B7=A2=C6=F7=BC=B0=C6=E4=B4=
=A5=B7=A2=B2=D9=D7=F7=CB=F9=D2=FD=D3=C3=B7=BD=B0=B8=B6=D4=CF=F3=BC=E4=B5=C4=
=D2=C0=C0=B5=B9=D8=CF=B5=A1=A3=B4=A5=B7=A2=C6=F7=CB=F9=C3=E6=B6=D4=B5=C4=D2=
=C0=C0=B5=D0=D4=CE=CA=CC=E2=D3=EB=B4=E6=B4=A2=B9=FD=B3=CC=B5=C4=CF=E0=CD=AC=
=A1=A3Oracle=20
      =
=B9=DC=C0=ED=B4=A5=B7=A2=C6=F7=B6=D4=CF=F3=B5=C4=B7=BD=CA=BD=D2=B2=D3=EB=B4=
=E6=B4=A2=B9=FD=B3=CC=CF=E0=CD=AC=A1=A3=B4=A5=B7=A2=C6=F7=B6=D4=CF=F3=B5=C4=
=B6=A8=D2=E5=B1=A3=B4=E6=D3=DA=CA=FD=BE=DD=D7=D6=B5=E4=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%">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%">
      <BLOCKQUOTE><B>See Also:</B><BR><BR>Chapter 6, "<A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/06.Dependencies%20Among%20Schema%20Objects.htm">Dependencies=
=20
        Among Schema Objects</A>"</BLOCKQUOTE></TD>
    <TD vAlign=3Dtop align=3Dleft width=3D"48%">
      <BLOCKQUOTE><B>=C1=ED=BC=FB=A3=BA</B><BR><BR>=B5=DA 6 =
=D5=C2=A3=AC=A1=B0<A=20
        =
href=3D"file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/Rel=
ease.Version/06.Dependencies%20Among%20Schema%20Objects.htm">=B7=BD=B0=B8=
=B6=D4=CF=F3=BC=E4=B5=C4=D2=C0=C0=B5=B9=D8=CF=B5</A>=A1=B1</BLOCKQUOTE></=
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>[098] failover<BR>[098]=20
switchover</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>[015] derived column value<BR>[015] =
synchronous=20
      table replicates<BR>[015] subscribing applications<BR>[026] =
trigger=20
      restriction<BR>[088] role transitions<BR>[119] mutating=20
error</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>[046] Correlation names provide access =
to the=20
      old and new values for each column.<BR>[056] Make a complex =
security check=20
      on the current time or user<BR>[074] Updating a column in a view =
that=20
      involves joins might change the semantics of other columns that =
are not=20
      projected by the view.<BR>[075] Object views present additional =
problems.=20
      For example, a key use of object views is to represent =
master/detail=20
      relationships. This operation inevitably involves joins, but =
modifying=20
      joins is inherently ambiguous.<BR>[089] The <FONT=20
      color=3D#0000ff>DBMS_AQ</FONT> package is one example of using =
database=20
      triggers to perform certain actions.|<BR>[106] You cannot use =
<FONT=20
      color=3D#0000ff>INSTEAD OF</FONT> triggers on views to publish =
events=20
      related to DML statements=A1=AAinstead, you can publish events =
using <FONT=20
      color=3D#0000ff>BEFORE</FONT> or <FONT =
color=3D#0000ff>AFTER</FONT> triggers=20
      for the DML operations on a view's underlying tables that are =
caused by=20
      <FONT color=3D#0000ff>INSTEAD OF</FONT> triggers.<BR>[112] Oracle =
performs=20
      integrity constraint checking at a set point in time with respect =
to the=20
      different types of triggers and guarantees that triggers cannot =
compromise=20
      integrity constraints.<BR>[119] When a triggering statement =
modifies one=20
      table in a referential constraint (either the primary key or =
foreign key=20
      table), and a triggered statement modifies the other, only the =
triggering=20
      statement will check the integrity constraint. This allows row =
triggers to=20
      enhance referential integrity.<BR>[119] Statement triggers fired =
due to=20
      <FONT color=3D#0000ff>DELETE CASCADE</FONT> and <FONT =
color=3D#0000ff>DELETE=20
      SET NULL</FONT> are fired before and after the user <FONT=20
      color=3D#0000ff>DELETE</FONT> statement, not before and after the =
individual=20
      enforcement statements. This prevents those statement triggers =
from=20
      encountering mutating errors.<BR>[120] The execution model takes =
into=20
      account integrity constraints and disallows triggers that violate=20
      declarative integrity =
constraints.</TD></TR></TBODY></TABLE><B><BR>D=20
=D7=A2=CA=CD=D0=D4=B5=C4=CE=C4=D7=D6[=B8=F1=CA=BD=A3=BA</B>[<FONT =
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>[013] SQL, PL/SQL, and Java<BR>[079] =
Object=20
      Datatypes and Object Views</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=C8=E7=B9=FB=CA=C7=D0=D0=B4=A5=B7=A2=C6=F7=A3=AC=C7=D2=
=D4=BC=CA=F8=CA=C7=20
      =
deferred=A3=AC=B4=A5=B7=A2=C6=F7=BA=CE=CA=B1=B1=BB=B4=A5=B7=A2=A3=BF=CA=C2=
=CE=F1=CC=E1=BD=BB=CA=B1=A3=BF=B4=A5=B7=A2=C6=F7=D6=B4=D0=D0=CA=B1=BB=FA=BA=
=CD=D4=BC=CA=F8=BC=EC=B2=E9=D3=D0=B9=D8=C3=B4=A3=BFAfter =
=D0=D0=B4=A5=B7=A2=C6=F7=D0=E8=D2=AA=B5=C8=B4=FD deferred=20
      =
=D4=BC=CA=F8=BC=EC=B2=E9=BA=F3=D4=D9=B4=A5=B7=A2=C3=B4=A3=BF<BR>[065-066]=
<BR><BR>2=A1=A2=B2=BB=C3=F7=B0=D7=A3=BF<BR>[067] Also, Oracle =
materialized=20
      view logs use <FONT color=3D#0000ff>AFTER row</FONT> triggers, so =
you can=20
      design your own <FONT color=3D#0000ff>AFTER row</FONT> trigger in =
addition=20
      to the Oracle-defined <FONT color=3D#0000ff>AFTER row</FONT>=20
      trigger.<BR><BR>3=A1=A2=C3=BB=BD=D3=B4=A5=B9=FD=A3=BF<BR>[078] =
<FONT color=3D#0000ff>INSTEAD OF</FONT>=20
      triggers also enable you to modify object view instances on the=20
      client-side through OCI. To modify an object materialized by an =
object=20
      view in the client-side object cache and flush it back to the =
persistent=20
      store, you must specify <FONT color=3D#0000ff>INSTEAD OF</FONT> =
triggers,=20
      unless the object view is inherently modifiable. However, it is =
not=20
      necessary to define these triggers for just pinning and reading =
the view=20
      object in the object =
cache.<BR><BR>4=A1=A2=C3=BB=BD=D3=B4=A5=B9=FD=A3=BF<BR>[085] You cannot =
modify the=20
      elements of a nested table column in a view directly with the =
<FONT=20
      color=3D#0000ff>TABLE</FONT> clause. However, you can do so by =
defining an=20
      <FONT color=3D#0000ff>INSTEAD OF</FONT> trigger on the nested =
table column=20
      of the view. The triggers on the nested tables fire if a nested =
table=20
      element is updated, inserted, or deleted and handle the actual=20
      modifications to the underlying =
tables.<BR><BR>5=A1=A2=C3=BB=BD=D3=B4=A5=B9=FD=A3=BF=D7=EE=BA=F3=D2=BB=BE=
=E4=D2=B2=B2=BB=C0=ED=BD=E2=A3=BF<BR>[096]=20
      You can specify a function with the same name as an attribute when =
you=20
      create a trigger if you want to publish that attribute when the =
event=20
      occurs. The attribute's value is then passed to the function or =
payload=20
      when the trigger fires. For triggers on DML statements, the <FONT=20
      color=3D#0000ff>:OLD</FONT> column values pass the attribute's =
value to the=20
      <FONT color=3D#0000ff>:NEW</FONT> column =
value.<BR><BR>6=A1=A2system event=20
      =D6=B8=CA=B2=C3=B4=A3=BF<BR>[098] Their attributes include the =
system event, instance number,=20
      and database name.<BR><BR>7=A1=A2<FONT =
color=3D#0000ff>USERID</FONT> and <FONT=20
      color=3D#0000ff>USERNAME</FONT> =
=CA=C7=BA=AF=CA=FD=C3=B4=A3=BF<BR>[103] and they can specify simple=20
      conditions on <FONT color=3D#0000ff>USERID</FONT> and <FONT=20
      =
color=3D#0000ff>USERNAME</FONT>.<BR><BR>8=A1=A2=D0=E8=D2=AA=CA=D4=D1=E9=A1=
=A3=C1=ED=BC=FB 22.4.1<BR>[112] Oracle=20
      performs integrity constraint checking at a set point in time with =
respect=20
      to the different types of triggers and guarantees that triggers =
cannot=20
      compromise integrity =
constraints.<BR><BR>9=A1=A2=C0=ED=BD=E2=B5=C4=B6=D4=C3=B4=A3=BF<BR>[118] =
Statements of=20
      <FONT color=3D#0000ff>BEFORE row</FONT> triggers=20
run.</TD></TR></TBODY></TABLE><B><BR></B>translator: <A=20
href=3D"mailto:zw1840@hotmail.com">zw1840@hotmail.com</A> </BODY></HTML>

------=_NextPart_000_0031_01C797C4.1FB02450
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/e.cncpt076.gif

R0lGODlhNgJIAfcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
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///ywAAAAANgJIAQAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
mzhz6tzJs6fPn0CDCh1KtOjAd7+SJn2nManRp1CjSp1KleIvAFizAvmm8BkQOAuxVh1LtqzZszav
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

------=_NextPart_000_0031_01C797C4.1FB02450
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/c.cncpt076.gif

R0lGODlhNgJIAfcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
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///ywAAAAANgJIAQAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
mzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3K9CgAAAOfIpR6kGpVqE2zat3KtetLqU/BYjVINaxZq2TH
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

------=_NextPart_000_0031_01C797C4.1FB02450
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/e.cncpt077.gif

R0lGODlhlwIHAvcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
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///ywAAAAAlwIHAgAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJcuGzX4/+gAHCEgKAlzBjypxJs6bN
mzhz6tzJs6fPn0CD6gTBEgicP49+PSvJtKnTp1CjSp1KVeCzR2BgyIRQFJDXr2DDih1LtqzZs2jT
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
uOCcmwQE671DLHnYvgs/PPHFGy9RQAA7

------=_NextPart_000_0031_01C797C4.1FB02450
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/c.cncpt077.gif

R0lGODlhlwIHAvcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
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///ywAAAAAlwIHAgAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJcuGzX4/+gAHCEgKAlzBjypxJs6bN
mzhz6tzJs6fPn0CD6gTBEgicP49+PSvJtKnTp1CjSp1KVeCzR2BgyIRQFJDXr2DDih1LtqzZs2jT
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
hExtCbfO7d727ZkMCAA7

------=_NextPart_000_0031_01C797C4.1FB02450
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/e.cncpt078.gif

R0lGODlhjwKKAfcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
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///ywAAAAAjwKKAQAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
mzhz6tzJs6fPn0CDCh1KtKjRo0N/KV36buC7pVC/EXz26M8nqQO/Qf31bCrUrl63/hL4bCvWgmXF
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

------=_NextPart_000_0031_01C797C4.1FB02450
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file:///D:/Zhengwu/Oracle.Concept.10g.R2.Translation.Programe/img/c.cncpt078.gif

R0lGODlhjwKKAfcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
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///ywAAAAAjwKKAQAI/wD/CRxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
mzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVq1grAgBgcKtCr//APhSbtazZs2jT
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
pmI2JlQypmNG5lFCpmRWJk9SpmVmZk1i/6ZmdqZKcqZnhmZFgqZoliZCkqZppuY7oqZqtuY3sqZr
xmY0wqZs1iYx0qZt5mYs4qZu9iZL3qVvBudI8qZwFueLEadxJieIIadyNid9MadzRucqQad0Vufq
UKd1Zqe+YKd2die5cKd3hie2gKd4lmeykKd5puevoKd6tuersKd7xmfrAKd81icy0qd95udcwad+
9mc4+iTm+aeA7hB/DqiBakaBHqiCsiV+LqiDTmWDPqiEVkuCTqiFakuEXqiG2kq/2OM0fSiIhqiI
jiiJlqiJniiKpqiKriiLtqiLviiMxqiMziiN1qiN3iiO5qiO7iiPwugjjCIABKmQDimRFtipkR4p
kiapki4pkzapkz4plEaplE4plVaplV4plmaplm4pl3apl34pmIapmEYpgOqJmMQCK6Spmq4pm7ap
m74pnMapnM4pndapnd4pnuapnu4pn/apn/4poAaqoA4qoRaqoR4qoiaqotKpexgLTbBDo0aqpE4q
pVaqpV4qpmaqpm4qp3aqp34qqIaqqI4qqZaqqZ4qqqaqqq4qq7aqq77qqNoEpMIqrdaqrd4qruaq
ru4qr/aqr/4qsAaro27ErAqrsR4rsiarsi4rszarsz5rqm6otI5LQAAAOw==

------=_NextPart_000_0031_01C797C4.1FB02450
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_0031_01C797C4.1FB02450--
