Problème procédure stockée mySQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème procédure stockée mySQL

Re: Problème procédure stockée mySQL

par moogli » 27 nov. 2012, 21:00

Pour la table oui, tu ne peux pas utiliser la variable ainsi.

Je ne sais pas si c'est possible (SQL dynamique, comme le "execute immediate" d'oracle).

Le := c'est l'opérateur d'affectation dans le code SQL de MySql.

Demande a Google : procédure stockée mysql, il y a des quelques tutos dont certain sur le site du zéro.


@+

Re: Problème procédure stockée mySQL

par alexandre44 » 27 nov. 2012, 16:38

En fait après avoir enlevé le dur cela met
Table 'ppestage.letype' doesn't exist 
C'est de ça dont tu me parlé avec le type ?

Re: Problème procédure stockée mySQL

par alexandre44 » 27 nov. 2012, 16:17

Bonjour,

après test cela marche bien merci.
Par contre je voudrais savoir, tu as mis
SET @a := NULL;

mais
:= 
signifie quoi ?

Et ma table étudiant et ma table professeur ne sont pas identique, c'est pas ça que j'ai un type.

Re: Problème procédure stockée mySQL

par moogli » 26 nov. 2012, 14:14

salut,


la tu sélectionne une chaîne de caractère dans un entier ça ne peux pas le faire

je ferait comme ça
CREATE PROCEDURE connexionValide(IN leLogin varchar( 32 ) , IN leMdp varchar( 32 ) , IN leType varchar( 32 ) , OUT resultat int )
BEGIN
	SELECT count(*) INTO resultat FROM utilisateur  WHERE login=leLogin AND mdp=leMdp;
END
et pour l'utiliser
set @a := null;
CALL connexionValide('moogli','test','utilisateur',@a);
SELECT @a;
(avec une table utilisateur bien sur ;) )
par contre la je ne pense pas que cela va fonctionner vue que "leType" risque de ne pas être interprété (pas testé les requêtes entièrement dynamique.

d'ailleurs est ce vraiment utile, tu a plusieurs tables d'utilisateurs ? (qui au final seront identique ?).


@+

Problème procédure stockée mySQL

par alexandre44 » 26 nov. 2012, 10:13

Bonjour, je cherche à tester mes connexions par une procédure stockée
DELIMITER |
CREATE PROCEDURE connexionValide( IN leLogin CHAR( 32 ) , IN leMdp CHAR( 32 ) , IN leType CHAR( 32 ) , OUT resultat BIGINT UNSIGNED )
BEGIN
SELECT  "SELECT count(*) FROM leType WHERE login='leLogin ' AND mdp='leMdp '" INTO resultat;
END
La requête seule marche, donc je reçoit 1, mais quand j'appelle ma procédure, j'obtiens 0.
CALL ('msmith','0000','professeur',@a);
SELECT @a;
Je ne sais pas pourquoi. Merci de votre aide.