Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 23/06/2006, 11h46   #1
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 4
Points : 4
Par défaut Comment retourner plusieurs paramétre d'une procedure stockée?

Voila un probléme tout bete! Je veut verifier le login et le mdp pour entrer dans une application!

Pour cela j'ai crée une procedure stockée prenant en parmaétre le login et le mots de passe et retournant le nom,prenom et id de l'utilisateur!
Code :
1
2
3
4
5
6
7
8
 
/* verification du login et du mdp */
DELIMITER //
CREATE procedure verloginmdp(pseudo varchar(10),mdp varchar(10))
BEGIN
SELECT id_utilisateur,nom_utilisateur,prenom_utilisateur FROM utilisateur WHERE pseudo=utilisateur.pseudo AND mdp=utilisateur.mdp;
END;
//
Je sais bien que pour retourner un resultat il faut utiliser des fonctions mais comment en retourner plusieurs?

En fait sur mysql query browser cela m'affiche bien le résultat mais sous vb: procedure... can't result a result set in a given context!


Help me! merci
nic413 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 18h41   #2
Membre éclairé

 
Avatar de Soutou
 
Inscription : janvier 2005
Messages : 309
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : janvier 2005
Messages : 309
Points : 328
Points : 328
Salut

Tu déclares les paramètres en OUT (OUT pseudo..., OUT...)

Puis dans le corps

SELECT col INTO pseudo ...

En fin de procédure l'extraction de la table sera transféré dans les variables OUT. Attention à ne ramener qu'une ligne dans le SELECT.
Soutou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2006, 19h05   #3
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 4
Points : 4
Ca marche!

Mais si le select retourne plus d'une ligne?
nic413 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 11h32   #4
Membre éclairé

 
Avatar de Soutou
 
Inscription : janvier 2005
Messages : 309
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : janvier 2005
Messages : 309
Points : 328
Points : 328
Soit tu t'es trompé dans la requête et la clause WHERE doit être à revoir (prévoir la programmation d'une exception HANDLER), soit tu veux vraiment ramener +sieurs lignes et il tge faut un curseur. Mais là, tu ne pourras pas ramener un nombre indéfini de paramètres en retour de ta procédure.
Bye
Soutou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 18h16   #5
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 4
Points : 4
Merci le retour de plusieur ligne ce n'est pas pour cette requete mais pour les suivantes! J'esperais une réponse miracle mais bon....

Merci bcp quand même
nic413 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 18h27   #6
Membre éclairé

 
Avatar de Soutou
 
Inscription : janvier 2005
Messages : 309
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : janvier 2005
Messages : 309
Points : 328
Points : 328
Pour ramener +sieurs lignes en sortie de procédure, il te faudra créér dans la procédure une table, la remplir et en sortie de procédure, interroger la table dans ton programme.
Pour l'instant pas possible de retourner un tableau...
Soutou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2006, 18h30   #7
Invité de passage
 
Inscription : mai 2006
Messages : 21
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 21
Points : 4
Points : 4
Oui c'est dommage mais je pense que je vais creer une table dans ma procedure stockée! merci bcp pour les astuces!
nic413 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h34.


 
 
 
 
Partenaires

Hébergement Web