2011-10-15 4 views
0

Supposons que j'ai une procédure stockée amusante (entrée, @val), et que je souhaite l'appeler de façon répétée, dans une sélection. J'ai essayé comme ceci:Utilisation des procédures stockées

select name, @val 
from table 
where {condition} 
group by name 

J'ai besoin que @val être mis à jour quelque part dans la déclaration avec:

call fun(name, @val) 

Comme la valeur de @val dépend du courant « itération ».

Comment faire?

Répondre

0

Utilisez une fonction qui renvoie une valeur plutôt qu'une procédure stockée. Lien vers la syntaxe de création de la fonction - http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html

+0

Je dois utiliser une procédure stockée parce que c'est ce qu'ils me demandent. Comment fais-je ???? – Madrugada

+1

Dans ce cas, modifiez la procédure stockée afin qu'elle renvoie la valeur de toutes les valeurs d'entrée possibles et stockez-la dans une table temporaire. Plus tard, vous pouvez vous joindre à cette table temporaire sur cette valeur d'entrée et obtenir le résultat. –