Michael Peppler
Sybase Consulting
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
Sybase on Linux FAQ
Sybperl FAQ
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: David Owen <dso at home dot com>
Subject: Re: Transactions
Date: Aug 26 1999 1:50AM

At 04:13 PM 25/08/99 -0700, Michael Peppler wrote:
>Roger Hall writes:
> > 
> > Hi,
> > 
> > I was wondering if anyone could explain the following, or point me at
> > an example or document that explains what I'm doing wrong. The following
> > code runs fine. I run it as a normal user and so the select gives me
> > a couple of permission denied errors and then my error saying 'OUCH'.
> > If I un-comment the two transaction lines, I still get the two permission
> > errors, but my 'OUCH' error no longer gets output.
>What I think happens is that when you have a begin tran the
>transaction is automatically rolled back when you hit an error, so the 
>raiserror is never called (in this case).
>Although I may be completely wrong, of course!

I think you are! :-)  I have written a lot of code that depends on that
_not_ happening.  An example is loading a data warehouse.  It is more
efficient to try and insert a row, and, if it is already there, to trap the
error and then proceed to update it than to test for its existanc before
inserting or updating.  However, I cannot explain _why_ you do not get the
'OUCH', if you were to run this directly through isql, you would get the
behaviour you expect.

I am intigued and will try this out myself.