Bonjour à tous,
je souhaite savoir si vous aussi vous rencontrez ce genre de problèmes.
Je fais actuellement un audit sur un applicatif windev et il y a parfois dans le code des requêtes de type UPDATE exécutées par lot (donc séparées par des ; )
Aucun problème sur ce genre de code qui me parait normal.
Cependant, en y regardant de plus près il y a parfois des requêtes du genre :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE NomTable SET STOCK=STOCK+2 WHERE KEY=1; UPDATE NomTable SET STOCK=STOCK+2 WHERE KEY=2;
Pas de problème en fichier plat mais en C/S l'execution des 2 requêtes simultanément donne +4 sur les 2 lignes.
en fait il exécute chaque requête autant de fois que le nombre de lignes du bloc.
Je viens d'envoyer un projet exemple à PC SOFT que je joins à ce fil de discussion.
Peut-être que je ne fais pas les choses correctement mais ce problème est pour moi très important car il ne nous permet pas de faire des update en bloc ....
Parfois vous avez besoin de mettre à jour 1000 lignes d'un coup, si pour 1000 lignes il execute 1000000 de requêtes ça fait mauvais genre ....
Sans compter que dans mon exemple, du fait de la multiplication des exécutions, les résultats sont faussés ...
que pensez-vous de tout ça ? je suis bien sûr ouvert à la discussion et à la méthode.
Merci par avance pour vos réponses,
Bonne journée à tous,
Nicolas
EDIT : Il faut rajouter un HCreationSiInexistant dans le cas du Test C/S. Je l'avais fait à la main donc zappé dans le projet.
Partager