You may define and use a SEQUENCE Object:
CREATE OR REPLACE SEQUENCE YourSchema/YourSequence
AS INTEGER
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 2147483647
NO CYCLE CACHE 20 NO ORDER ;
The next value can be determined with NEXT VALUE FROM YourSequence.
Insert into YourTable (Seq, Fld1, ... FldN)
Values(Next Value From YourSequence, 'A', .... 'X');
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Greg
Wilburn
Sent: Montag, 25. November 2019 18:04
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: SQL insert row with next sequence number
I have a file (err um "table") where I'm inserting a row. I need to
increment a sequence number based on the values of 3 other fields.
1. If there aren't any rows for a given order number, the sequence
would be 1
2. If there are rows for a given order number, I need the "next"
sequence number
Currently I run Exec SQL to get the max(seq#), add one to that in RPG, and
then Exec SQL and insert the row.
Just wondering if a different (more clever) method exists?
Side Note: There can be multiple users inserting rows simultaneously - this
has me concerned for my method.
Greg
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.