29-08-2017, 11:51 AM
Bonjour à tous.
J'apprends depuis peut à me servir des fonctions "avancées" de MySQL et je me heurte à un petit problème. J'ai une solution qui se profile, mais elle me parait un peu "sale", je m'explique :
À la base, je voulais faire quelque chose dans ce genre-là :
SELECT (CALL calcul_passager(trajet.id)) FROM trajet WHERE ...
Et la procédure calcul_passager procédait à tout les calculs nécessaires et remplissait les tables concernées.
Le but de se code étant donc d'exécuter la procédure calcul_passager pour chaque ligne de la table trajet sélectionné.
Mais MySQL en à voulu autrement et me signifie très rudement que ma façon de procéder n'est pas convenable. :triste:
Il semblerai qu'il ne soit pas possible d'appeler directement une procédure dans un SELECT.
J'ai donc demandé à Google s'il n'y avait pas une autre manière de procéder, mais c'est en faisant des essais de code sur phpmyadmin que j'ai découvert la possibilité de créer des fonctions SQL à peu près comme des procédures.
Mais, je trouve peut de documentation à ce propos sur le web, et même si les premiers tests avec ma procédure transformée en fonction sont concluant, j'ai peur de faire un bidouillage immonde qui me serait préjudiciable pour le reste du développement de mon jeu.
Je suis donc ici pour vous demander votre avis sur cette solution ou si vous avez une manière plus "évidente" de régler mon problème originel.
Merci et bonne journée.
J'apprends depuis peut à me servir des fonctions "avancées" de MySQL et je me heurte à un petit problème. J'ai une solution qui se profile, mais elle me parait un peu "sale", je m'explique :
À la base, je voulais faire quelque chose dans ce genre-là :
SELECT (CALL calcul_passager(trajet.id)) FROM trajet WHERE ...
Et la procédure calcul_passager procédait à tout les calculs nécessaires et remplissait les tables concernées.
Le but de se code étant donc d'exécuter la procédure calcul_passager pour chaque ligne de la table trajet sélectionné.
Mais MySQL en à voulu autrement et me signifie très rudement que ma façon de procéder n'est pas convenable. :triste:
Il semblerai qu'il ne soit pas possible d'appeler directement une procédure dans un SELECT.
J'ai donc demandé à Google s'il n'y avait pas une autre manière de procéder, mais c'est en faisant des essais de code sur phpmyadmin que j'ai découvert la possibilité de créer des fonctions SQL à peu près comme des procédures.
Mais, je trouve peut de documentation à ce propos sur le web, et même si les premiers tests avec ma procédure transformée en fonction sont concluant, j'ai peur de faire un bidouillage immonde qui me serait préjudiciable pour le reste du développement de mon jeu.
Je suis donc ici pour vous demander votre avis sur cette solution ou si vous avez une manière plus "évidente" de régler mon problème originel.
Merci et bonne journée.