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

Outils MySQL Discussion :

Erreur Procedure already exists


Sujet :

Outils MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Par défaut Erreur Procedure already exists
    Bonjour,
    j'arrive pas à creer cette procedure sur mysql quelqu'un peut m'aider svp?

    le text que je tape au niveau de phpmyadmin dans le cartouche "Exécuter une ou des requêtes sur la base" est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE PROCEDURE sdz(IN valeur VARCHAR(20))
    BEGIN
    SELECT valeur;
    END|
    où est l'erreur alors?

    MERCI

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    quel est ton message d'erreur (s'il y en a un) ? as-tu le privilège de création d'une procédure ? pourquoi un | après END ?

    Comme tu n'as qu'une instruction, BEGIN et END sont inutiles, tu peux donc déjà tester comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CREATE PROCEDURE sdz(IN valeur VARCHAR(20))
    SELECT valeur;
    --
    Antoun

    Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
    http://www.microapp.com/livre_mysql_7873.html

  3. #3
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    La difficulté de syntaxe dans la création des blocs BEGIN...END c'est d'avoir un client qui accepte qu'une requête contienne des points-virgules. Chaque client a sa propre astuce, comme la commande DELIMITER du client texte.

    Je viens de rejeter un oeil sur les recherches que j'avais faites cet été, il ne semble pas que phpMyAdmin prévoie quoi que ce soit pour résoudre ce problème-là...

    Si tu peux te connecter avec un autre client, comme par exemple le client texte, tu devrais pouvoir créer n'importe quelle proc stock par là. Si tu es chez un hébergeur comme Free qui refuse les connexions directes, il ne te reste plus qu'à passer par PHP avec mysql_query ou mysqli_query.

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 57
    Par défaut
    cher antoun
    votre code ca donne ca comme erreur

    Erreur
    requête SQL:

    CREATE PROCEDURE sdz( IN valeur VARCHAR( 20 ) ) SELECT valeur

    MySQL a répondu:

    #1304 - PROCEDURE sdz already exists



    mon code donne ceci



    Erreur
    requête SQL:

    CREATE PROCEDURE sdz( IN valeur VARCHAR( 20 ) ) BEGIN SELECT valeur;



    MySQL a répondu:

    #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 'SELECT valeur' at line 3



    mes amitiés.

  5. #5
    Membre chevronné
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Par défaut
    Citation Envoyé par acipeg
    cher antoun
    votre code ca donne ca comme erreur

    Erreur
    requête SQL:

    CREATE PROCEDURE sdz( IN valeur VARCHAR( 20 ) ) SELECT valeur

    MySQL a répondu:

    #1304 - PROCEDURE sdz already exists



    mon code donne ceci



    Erreur
    requête SQL:

    CREATE PROCEDURE sdz( IN valeur VARCHAR( 20 ) ) BEGIN SELECT valeur;



    MySQL a répondu:

    #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 'SELECT valeur' at line 3



    mes amitiés.
    D'après ce que tu vient de dire le code d'antoun est correct, c'est juste que la procedure existe déja.

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    Citation Envoyé par acipeg
    votre code ca donne ca comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE PROCEDURE sdz( IN valeur VARCHAR( 20 ) ) SELECT valeur
    MySQL a répondu:
    #1304 - PROCEDURE sdz already exists
    Personnellement, j'interprète cette réponse comme une preuve de succès . Mais si tu n'en es pas persuadé, je t'invite à passer un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DROP PROCEDURE sdz ;
    et à re-tenter mon CREATE.

    Citation Envoyé par acipeg
    mon code donne ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE PROCEDURE sdz( IN valeur VARCHAR( 20 ) ) BEGIN SELECT valeur;
    MySQL a répondu:
    #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 'SELECT valeur' at line 3
    BEGIN sans END, ça ne peut pas marcher...

    Pour une explication et solution complète, remonte à mon deuxième post.

    --
    Antoun

    Guide complet MySQL 5, par Antoine Dinimant, éd. MicroApplication
    http://www.microapp.com/livre_mysql_7873.html

  7. #7
    Membre chevronné
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Par défaut
    Tu peux faire un "or replace" sans avoir à la supprimer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CREATE OR REPLACE PROCEDURE sdz(IN valeur VARCHAR(20))
    SELECT valeur;

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

Discussions similaires

  1. [FPDF] Erreur: Headers already sent
    Par calitom dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 01/02/2007, 10h35
  2. erreur procedure parmetrée
    Par lemo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/10/2006, 19h43
  3. Réponses: 11
    Dernier message: 11/05/2006, 11h16
  4. erreur #1064 if exists ...
    Par etrevilly dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/03/2006, 07h27
  5. Erreur : headers already send by
    Par arnolem dans le forum Langage
    Réponses: 7
    Dernier message: 31/10/2005, 11h41

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