IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Procédural MySQL Discussion :

[PROCEDURES STOCKEES] Erreur de syntaxe


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut [PROCEDURES STOCKEES] Erreur de syntaxe
    Voila j'essaye de résoudre un problème que j'expose dans le post :
    http://www.developpez.net/forums/sho...d.php?t=287108

    J'ai créé une procédure stockée, mais je ne connais pas très bien et j'ai donc une erreur de syntaxe. Quelqu'un aurait il une idée d'ou se situe l'erreur?
    La procédure est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    CREATE OR REPLACE FUNCTION nombre_palette () RETURNS SETOF RECORD AS $$
             DECLARE
               res RECORD;
               res2 RECORD;
             BEGIN
               FOR loc IN
                 SELECT `m_idtypepalette` , SUM( `m_g_nbpalette` ) AS sumPalEntrees
                 FROM `m_gestionpalettecouvercle` WHERE `m_g_entreesortie` = 1
                 GROUP BY `m_idtypepalette`
               LOOP
                 SELECT `m_idtypepalette` , SUM( `m_g_nbpalette` ) + loc1.sumPalEntrees
                 FROM `m_gestionpalettecouvercle`
                 WHERE `m_g_entreesortie` = 0 AND `m_idtypepalette` = loc.sumPalEntrees
                 GROUP BY `m_idtypepalette`
                 RETURN NEXT res2;
               END LOOP;
               RETURN;
             END;
    Je me suis inspirée d'une procédures stockées que j'ai trouvée. L'erreur renvoyée ne m'aide pas beaucoup :
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FUNCTION nombre_palette () RETURNS SETOF RECORD AS $$
    DECLARE
    ' at line 1

  2. #2
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    À première vue, on dirait une fonction pour PostgreSQL. La syntaxe n'est pas la même sous MySQL. Et les possibilitées offertes par les routines stockées sous PgSQL sont bien plus grandes que sous MySQL.

    Il y a déjà un problème pour toi : les fonctions sous MySQL ne peuvent retourner que des valeurs scalaires (entiers, chaînes, etc.).

    Edit : mais tu n'as besoin de définir une fonction pour faire ce que tu cherches. Va voir la solution que je te propose ici.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut
    On ne peut rien te cacher, ca vient d'une procédure sous Postegre.
    J'espèrais que ca passerait.
    Il n'aime peut être pas que je renvois le type record.
    Comme tu m'as débloqué je ne cherche pas plus.
    Merci de m'avoir aidé!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Procedures stockees erreur sur champ
    Par JLC83 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 23/08/2008, 01h53
  2. Procedure stockee : erreur.
    Par Tidus159 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/04/2008, 13h24
  3. Erreur procedure stockee debutant
    Par metalcoyote dans le forum Débuter
    Réponses: 6
    Dernier message: 16/01/2008, 17h20
  4. [procedure] une erreur de syntaxe, mais où ?
    Par elvan49 dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 03/12/2007, 11h25
  5. [DB2][procedure stockee] Comment sortir en erreur?
    Par ze_patoche dans le forum DB2
    Réponses: 3
    Dernier message: 14/02/2006, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo