|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : janvier 2008 Messages : 240 ![]() |
Bonjour,
Petite question bête ...... Où enregistréer une procedure stokée ? Par exemple : Code :
Et enfin ou et comment l'appeller via CALL ma_procedure(41,@mon_resultat) ? (Dans mon script PHP ou où ??) ? Merci pour votre aide ^^ c'est la première fois que j'utilise ces procédures |
||
|
|
00
|
|
|
#2 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2008 Messages : 24 ![]() |
Bonsoir
Citation:
Pour la lancer depuis un script php tu l'execute comme n'importe quel autre requête. Tu peu aussi la lancer directement depuis PhpMyAdmin dans la partie sql pour la tester. |
|
|
|
00
|
|
|
#3 | ||||
|
Membre du Club
![]() Inscription : janvier 2008 Messages : 240 ![]() |
Ben oui mais alors je ne comprends pas.
J'ai une table article dans laquelle il y a un attribut prix; si je fais la chose suivante : on me renvoi un tableau contenant les prix; si je veux enregistrer une procédure stockée effectuant l'action je fais : Code :
et la on me répond erreur de syntaxe à la ligne 3 ? Où est mon erreur ? Code :
|
||||
|
|
00
|
|
|
#4 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2008 Messages : 24 ![]() |
Il faut indiquer a Mysql que la fin de la procédure est atteinte au carractère | et non ;
Pour cela, il faut utiliser l'ordre delimiter Ta procédure devrait donc ressembler à ca. Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() ![]() |
Attention au délimiteur avec PhpMyAdmin.
Le mot clé DELIMITER n'est pas employé et il est nécessaire de redéfinir un délimiteur pour pas que le SGBD s'embrouille. Sur le popup permettant d'exécuter la requête il y a un champ ou l'on peut saisir le délimiteur. Dans ton cas utilise | comme délimiteur. Ta procédure stocké étant : Code :
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
||
|
00
|
|
|
#6 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
En fait, quand la procédure ne comprend qu'une seule requête, le BEGIN... END est facultatif, ce qui évite tout le bins sur le délimiteur.
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com