Bonjour,

j'aimerais faire un insert de plusieurs centaines de lignes, pour cela je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
INSERT INTO MATABLE SELECT COL1,COL2,... FROM MATABLE2 WHERE COL2 = 'XXX'
Le problème c'est que COL1 est un numéro, clé unique mais pas auto incrémenté.
Je pensais donc faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
INSERT INTO MATABLE 
    SELECT (SELECT ISNULL(MAX(COL1),0) + 1 FROM MATABLE),
             COL2,... FROM MATABLE2 WHERE COL2 = 'XXX'
Mais ça ne fonctionne pas, ça me renvoi, que la clé existe déjà.
Comment faire pour le SELECT MAX prenne en compte les lignes en cour de création par l'INSERT ?