Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/08/2011, 23h16   #1
Invité régulier
 
Inscription : décembre 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 78
Points : 8
Points : 8
Par défaut 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;
majong est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h30.


 
 
 
 
Partenaires

Hébergement Web