Bonjour, je ne sais pas comment faire pour mettre à jour une table en bloquant une ligne puis en envoyant un résultat précis.
En effet je veux modifier la table TUser et TCommerce, comme je ne suis pas le seul à le faire je pose un verrou exclusif sur les deux :
Puis en fonction du prix et de la présence du produit, je peux renvoyer comme retour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SET AUTOCOMMIT = 0; SELECT * FROM TUser u INNER JOIN TCommerce c ON(t.user_id=c.commerce_id) WHERE c.commerce_id=param1 FOR UPDATE;
Je termine par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT "Se produit n'existe plus ..." ou encore SELECT "Vous manquez de ressource pour l'achat de ce produit" ... SELECT "Vous avez acheté un produit ...";
COMMIT ou ROLLBACK
Au retour dans Java, je pensais que je pouvais récupérer le dernier SELECT avec rs.getString(1) , à ma toute surprise non, il contient le premier champ du verrou.
Comment puis je faire pour récupérer explicitement ce que je veux ?
C'est cette ligne essentielle qui pourrit mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM TUser u INNER JOIN TCommerce c ON(t.user_id=c.commerce_id) WHERE c.commerce_id=param1 FOR UPDATE;
Partager