× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



If you are running V5R2, then abandon that technique and use a datatype of 
ROWID or identity columns to store your sequence number.
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/sqlp/rbafymst79.htm
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/sqlp/rbafymst80.htm
All problems solved.

create table rob/parent 
 (orderno smallint not null 
   generated always as identity
   (start with 1 
    increment by 1 
    cycle), 
  shipped_to varchar (36), 
 constraint Parent_OrderNo 
  Primary key (OrderNo)) 

create table rob/child 
 (orderno smallint not null, 
  constraint Parent_to_Child_OrderNo
   foreign key (OrderNo) 
   references rob/parent (OrderNo) 
   On delete restrict 
   On update restrict, 
  item varchar (21), 
  amount dec) 

INSERT INTO ROB/PARENT (SHIPPED_TO) VALUES('Bubba')
select * from rob/parent
ORDERNO   SHIPPED_TO
      1   Bubba 
INSERT INTO ROB/CHILD VALUES(1, 'sample', 2)
1 rows inserted in CHILD in ROB. 
INSERT INTO ROB/CHILD VALUES(2, 'realstuff', 7) 
Operation not allowed by referential constraint PARENT_TO_CHILD_ORDE


Rob Berendt
-- 
"They that can give up essential liberty to obtain a little temporary 
safety deserve neither liberty nor safety." 
Benjamin Franklin 





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: 
        Fax to: 
        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 ...

Replies:

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.