<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1561" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>I was a DBA for nearly 5 years&nbsp;in 
the City-of-London and I loved triggers for several reasons:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>1. Not if the DBA maintains the 
triggers.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>2. Don't try testing against the 
production database.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>3. What the can't see they can't !"£$% 
up.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>4. Bad design causes that.&nbsp;Set up 
'rules' that can not be broken (improved security)!!</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>5. Never had any problems 
myself.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>6. Common database code&nbsp;is held 
in one place (the database) instead of several programs. Change it in one place 
not many!! And no recompile required &lt;bliss&gt;.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2>etc.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006><FONT 
face="Comic Sans MS" color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=299344315-30102006></SPAN><FONT 
face="Comic Sans MS" size=2>regards,</FONT> <BR><FONT face=Arial>&nbsp;</FONT> 
<BR><FONT face="Comic Sans MS" size=2>Robert W.Mills</FONT> <BR><FONT 
face="Comic Sans MS" size=2>MIS Systems Development 
Manager</FONT>&nbsp;<BR><FONT face="Comic Sans MS" size=2>Pinnacle 
Arvato</FONT>&nbsp;<BR><FONT face="Comic Sans MS" size=2>+44 (0)</FONT><FONT 
face="Comic Sans MS" size=2>20</FONT> <FONT face="Comic Sans MS" size=2>8309 
3604</FONT> </DIV>
<DIV>&nbsp;</DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> 
powerh-l-bounces+robert.mills=pinnaclearvato.co.uk@lists.sowder.com 
[mailto:powerh-l-bounces+robert.mills=pinnaclearvato.co.uk@lists.sowder.com] 
<B>On Behalf Of </B>Robert Edis<BR><B>Sent:</B> 30 October 2006 
15:38<BR><B>To:</B> powerh-l@lists.sowder.com<BR><B>Subject:</B> Re: Triggers 
and RDBM's<BR></FONT><BR></DIV>
<DIV></DIV><BR><FONT face=sans-serif size=2>My inderstanding is that DBA's hate 
triggers for several reasons:</FONT> <BR><BR><FONT face=sans-serif size=2>1. 
they are difficult to keep track of and it is easy to create trigger loops. 
&nbsp;I.e. trigger A causes trigger B to fire which causes trigger C to fire 
which causes trigger A to fire.</FONT> <BR><FONT face=sans-serif size=2>2. they 
generally can't be over-ridden for test cases, debugging, or special 
cases.</FONT> <BR><FONT face=sans-serif size=2>3. are "hidden" from the 
developers.</FONT> <BR><FONT face=sans-serif size=2>4. have security 
implications. &nbsp;E.g. a user doesn't have update access to a table but the 
application they use can fire the trigger. &nbsp;Use of the trigger bypasses the 
user security and allows the user to update the table.</FONT> <BR><FONT 
face=sans-serif size=2>5. difficult to tune database for performance if it has 
lots of triggers.</FONT> <BR><FONT face=sans-serif size=2>etc.</FONT> 
<BR><BR><FONT face=sans-serif size=2>Bluey</FONT> <BR></BODY></HTML>