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 :

création fonction phpMyAdmin


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 22
    Par défaut création fonction phpMyAdmin
    j'essaie en vain d'ajouter cette fonction via phpMyAdmin..
    il me met ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    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 'INT' at line 8
    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
    19
     
    -- 
    -- DELIMITER ;
    -- 
    -- Fonctions
    -- 
     
    CREATE DEFINER=`root`@`%` FUNCTION `validation_CircuitPluginSpe`(
        input TEXT,
        delimiter VARCHAR(10),
        valeur varchar(255)
    ) RETURNS int(11)
        SQL SECURITY INVOKER
    BEGIN
         DECLARE retour INT;
         call split_string(input,delimiter);
         SELECT COUNT(*) INTO retour FROM SplitValues where valeur in (select * from SplitValues);
         return retour;
    END
    n'étant pas un roi en SQL, si quelqu'un pouvait m'aider.

    Merci

  2. #2
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Crois moi. Phpmyadmin c'est la misère avec les fonctions et procédure stocké. Passe par php en faisant appelle a un simple mysqli_query($mafonction)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 22
    Par défaut
    synthaxiquement, elle est correcte alors?

  4. #4
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    oui, c'est un probleme de délimiter

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 22
    Par défaut
    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
    19
    20
    21
    22
    23
    24
     
    $link = mysql_connect("xxx", "xxx", "xxx") or die("Impossible de se connecter : " . mysql_error());
    					echo 'Connecté correctement';
    					mysql_select_db("cg90", $link) or die('Could not select database.');
    				 mysql_query("-- 
    					-- DELIMITER ;
    					-- 
    					-- Fonctions
    					-- 
     
    					CREATE DEFINER=`root`@`%` FUNCTION `validation_CircuitPluginSpe`(
    					input TEXT,
    					delimiter VARCHAR(10),
    					valeur varchar(255)
    					) RETURNS int(11)
    					SQL SECURITY INVOKER
    					BEGIN
    					DECLARE retour INT;
    					call split_string(input,delimiter);
    					SELECT COUNT(*) INTO retour FROM SplitValues WHERE valeur IN (SELECT * FROM SplitValues);
    					RETURN retour;
    					END")or die('Requête invalide : ' . mysql_error());
     
    					mysql_close($link);
    voici mon code et l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Connecté correctementRequête invalide : This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
    j'utilise:
    phpMyAdmin - 2.11.0
    Version du client MySQL: 5.0.27


    merci

  6. #6
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Enlève cette zone
    DEFINER=`root`@`%`

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 22
    Par défaut
    cela ne change rien..., même message d'erreur

    j'ai essayé directement en ligne de commande par ssh et pareil
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     mysql -h host -u root -p bdd < fonction.sql 
    Enter password: 
    ERROR 1064 (42000) at line 6: 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 'INT' at line 8
    que faire?

Discussions similaires

  1. Création Fonction INVERSE()
    Par alain1033 dans le forum Excel
    Réponses: 2
    Dernier message: 16/01/2010, 12h40
  2. Création fonction avec argument dans une classe
    Par Général03 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/06/2009, 09h57
  3. création fonction "Filtre"
    Par gwems dans le forum VBA Access
    Réponses: 6
    Dernier message: 27/03/2009, 08h19
  4. Réponses: 6
    Dernier message: 14/03/2008, 19h04
  5. [JS] Aide création Fonction
    Par Pahcixam dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/02/2007, 18h40

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