begin trans A

begin trans B
   increment key value
commit B

-- don't care about trans A here it can be commited or roll backed

Edward Koryagin


--- On Mon, 1/12/08, Kyley Harris <[EMAIL PROTECTED]> wrote:

> From: Kyley Harris <[EMAIL PROTECTED]>
> Subject: Re: [DUG] MSSQL Question
> To: "NZ Borland Developers Group - Delphi List" <delphi@delphi.org.nz>
> Received: Monday, 1 December, 2008, 11:51 AM
> Hi Neven,
> Currenlty I am using a stored proc that accesses a table in
> the form of
> 
> (
> SequenceName varchar(100);
> KeyValue Int
> )
> 
> I'm using update locks etc..
> 
> my worry is that
> Transaction A asks for "ClientNO" 1-3 keys
> Transaction B asks for "ClientNO" 4-6 keys
> 
> A Rolls Back
> 
> Transaction C or d or e in the future may get 4-6 taken by
> B again because
> of A's Rollback.
> 
> The keys are not used for Primary or Relational anything. I
> use
> UniqueIdentifier for that.. The sequences do not need to be
> perfect, gaps
> are allowable.. these sequences are for Data Values used by
> the software
> users.. ie Batch No, Client No, Debtor No, Statement No,
> Invoice No.. etc
> etc. and these numbers are then used for quick referencing
> of information..
> 
> in interbase and Oracle.. its very easy..
> 
> have to pop out for an hour.. Thanks if anyone has any
> ideas for making sure
> I don't get lock contention, or reissuing of the same
> number twice.
> 
> On Mon, Dec 1, 2008 at 11:41 AM, Neven MacEwan
> <[EMAIL PROTECTED]> wrote:
> 
> > Kyley
> >
> > Why not just use a stored proc as a
> 'generator' or a high/low sequence,
> > I take it that you want to know the surrogate PK
> Value?
> > Must they be sequential?
> >
> > Neven
> > > pretend IDENTITY columns dont exist, because they
> don't do what I
> > > want, which is to create non-rollback numbers
> like IB Generators or
> > > Oracle Sequences.
> > >
> > > No matter how much rowlocking, updatelocks etc..
> if a rollback happens
> > > then the Sequence numbers can get scrambled
> depending on transaction
> > > order.
> > >
> > > I've read under SQL 2008 (im using '05)
> that you can create a remote
> > > stored procedure using a loobback connection,
> where the remote call
> > > will then commit the increments outside of the
> local transaction
> > > running? Can anyone confirm this?
> > >
> > > My only other thought is to write a CLR (when I
> learn how) that uses
> > > critical sections and a seperate database
> connection to access and do
> > > all the commits to the Sequence generation
> table..
> > >
> > > any thoughts comments appreciated.
> > >
> ------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > NZ Borland Developers Group - Delphi mailing list
> > > Post: delphi@delphi.org.nz
> > > Admin:
> http://delphi.org.nz/mailman/listinfo/delphi
> > > Unsubscribe: send an email to
> [EMAIL PROTECTED] with Subject:
> > unsubscribe
> >
> > _______________________________________________
> > NZ Borland Developers Group - Delphi mailing list
> > Post: delphi@delphi.org.nz
> > Admin: http://delphi.org.nz/mailman/listinfo/delphi
> > Unsubscribe: send an email to
> [EMAIL PROTECTED] with Subject:
> > unsubscribe
> >
> 
> 
> 
> -- 
> Kyley Harris
> Harris Software
> +64-21-671-821
> _______________________________________________
> NZ Borland Developers Group - Delphi mailing list
> Post: delphi@delphi.org.nz
> Admin: http://delphi.org.nz/mailman/listinfo/delphi
> Unsubscribe: send an email to [EMAIL PROTECTED]
> with Subject: unsubscribe


      Easy recipes for Christmas entertaining on Yahoo!Xtra Lifestyle- 
http://nz.lifestyle.yahoo.com/food-recipes

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to [EMAIL PROTECTED] with Subject: unsubscribe

Reply via email to