Bonjour,

Je travaille avec une base de donnée DB2/AS400 V5R3.
J'ai une table TEMP qui contient seulement les champs id (integer) auto incrémental, numero (char (12)) et lib (char 20).

Ex:
1 200603000101 toto
2 200603000102 toto
3 200603000103 toto
4 200603000104 toto
5 200603000201 marcel
6 200603000202 marcel
7 200603000203 marcel
8 200603000204 marcel

Comme vous pouvez le voir, il y a chaque fois une séquence du numéro et chaque séquence a son propre lib.

Aujourd'hui
Aujourd'hui, j'alimente cette table ainsi (en passant via la couche JDBC)

select (bigint(max(numero))/100 + 1) * 100 from temp
cela ramène 200603000300, appelons le NEXTNUM, mon prochain numero à créer (-1).

et j'exécute 4 INSERT :
insert into temp (numero, lib) values ('"+NEXTNUM+1+"' , 'justin);
insert into temp (numero, lib) values ('"+NEXTNUM+2+"' , 'justin');
insert into temp (numero, lib) values ('"+NEXTNUM+3+"' , 'justin');
insert into temp (numero, lib) values ('"+NEXTNUM+4+"' , 'justin');

Et j'obtiens ces nouvelles lignes
*9 200603000301 justin
10 200603000302 justin
11 200603000303 justin
12 200603000304 justin

Question
Est-il possible de faire ces insert en une seule requête SQL ?
Encore mieux, est-il possible d'y inclure le select max avec ?
Qui parmi vous sera mon sauveur ? ;-)