|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Développeur Web Inscription : mai 2004 Messages : 183 ![]() |
Bonjour, j'ai quelques difficultées avec une syntaxe SQL qui me paraît pourtant simple.
Je souhaite avoir 2 requêtes différentes suivant si ma table est vide ou non Ma syntaxe est la suivante, je sais qu'elle est fausse mais je ne trouve pas la solution, j'ai eu beau regarder les docs, la faq, et les tutos même certains codes sources SQL, je ne vois pas comment je pourrais faire ça. Code :
Merci |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
IF ... THEN
ELSEIF ... THEN END IF; Le point virgule
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() Développeur Web Inscription : mai 2004 Messages : 183 ![]() |
Effectivement, j'ai oublié le ; merci, mais cela ne résoud cependant pas le problème, j'ai toujours une erreur de syntaxe que je n'arrive pas à identifier.
http://dev.mysql.com/doc/refman/5.0/...statement.html Le code est le même mais avec le ; à la fin du END IF Code :
|
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Est ce que tu tente de faire cela en dehors d'une fonction ou procédure stocké ?
Car, je viens de faire le test est j'avais oublié cette particularité ou il est pas possible d'utiliser de IF
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Développeur Web Inscription : mai 2004 Messages : 183 ![]() |
Oui c'est le cas c'est bien en dehors de toutes fonctions ou procédures. Comment puis-je donc modifier mon code de manière à ce que cela soit fonctionnel.
Je sais que ma table sera vide si le champ gauche ne contient pas la valeur 1 Si ma table est vide j'ai une instruction d'INSERT assez simple par contre si elle n'est pas vide alors j'ai une suite d'instruction à effectuer. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Execute-le dans une fonction ou procédure stocké. C'est bien plus propre et plus optimisé.
Je sais pas quel language que tu utilises mais après il suffit de l'appeler ainsi : CALL monProceStocl();
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Développeur Web Inscription : mai 2004 Messages : 183 ![]() |
C'est un script bash pour la modification d'une table en représentation intervallaire.
L'objectif est de pouvoir insérer un noeud dans cette table n'importe où. Le langage shell m'est imposé, je ne peux faire autrement. Il faut donc pouvoir créer un noeud "racine" si la table est vide et rajouter d'autres noeud par la suite. Je vais voir pour les fonctions et procédures, merci [edit]Correction d'une horrible faute d'orthographe |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Il va rien changé à ton script. C'est juste qu'il faudra l'encapsuler dans une fonction ou procédure stocké. A condition, biensur, que tu sois sur Mysql5
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Développeur Web Inscription : mai 2004 Messages : 183 ![]() |
Je pense que ça devrait aller alors
Code :
mysql Ver 14.12 Distrib 5.0.38, FOR pc-linux-gnu (i486) USING readline 5.2 Merci. |
|
|
00
|
|
|
#10 | |
|
Expert Confirmé
![]() Développeur informatique Inscription : février 2005 Messages : 2 982 ![]() |
Citation:
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !... |
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Développeur Web Inscription : mai 2004 Messages : 183 ![]() |
Merci pour tous
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com