If you do 
        DECLARE CURSOR cursor FOR SELECT field    .....   For UPDATE OF 
field
        OPEN cursor
        FETCH FROM cursor ... INTO var 
        var = var + 1
        UPDATE field = var .... WHERE CURRENT OF cursor

the row will be locked between FETCH and UPDATE at any isolation level.

    Alexei Pytel
always speaking for myself





E Doc <doc6502@xxxxxxxxx>
Sent by: midrange-l-bounces@xxxxxxxxxxxx
08/08/2003 08:53 AM
Please respond to Midrange Systems Technical Discussion

 
        To:     midrange-l@xxxxxxxxxxxx
        cc: 
        Subject:        Row locks in DB2/400 UDB




All

Is there a way to lock a row in DB2/400 UDB SQL without using commitment 
control? 

We have a table that holds the 'next sequence number'.  Whenever several 
processes access the table, we end up with a scenario like:

  program A accesses the table and grabs 
    the next counter number (counter number = 50)
 
  program B accesses the table and grabs 
    the next counter number (counter number = 50)
 
  program B adds one to the counter 
    number, and updates the table (counter number = 51)
 
  program A adds one to the counter 
    number, and updates the table (counter number = 51)
 
Now, there are two transactions with an identical sequence number.

We're doing a simple select to fetch the sequence number, and we are not 
using commitment control.

Any suggestions?

Thanks

-Doc
_______________________________________________
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing 
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.





As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.