procédure stockée retour de données
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 :
Code:
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; |
Puis en fonction du prix et de la présence du produit, je peux renvoyer comme retour :
Code:
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 ..."; |
Je termine par
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:
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; |