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 :

Fonctionnement des fonctions sous MySql


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 47
    Par défaut Fonctionnement des fonctions sous MySql
    Bonjour à tous,

    Je suis actuellement en train de me former sur les fonctions sous MySql 5 et je rencontre une légère difficulté.

    J'ai créé une fonction toute bête :
    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
    DELIMITER $$
     
    DROP FUNCTION IF EXISTS test$$
     
    CREATE FUNCTION test() RETURNS INT
    BEGIN
     
    DECLARE a,b INT;
    SET a = 0;
    SET b = 10;
     
    WHILE a < b DO
      INSERT INTO test VALUES(a);
      SET a = a + 1;
    END WHILE;
     
    RETURN(SELECT test FROM test);
    END$$
     
    DELIMITER;
    Jusque là tout va bien sauf que lorsque je lance un SELECT sur cette fonction en retour j'ai l'erreur suivante : Duplicate entry '1' for key 1.

    J'ai fais pas mal de recherche mais il faut admettre que la doc n'est pas très poussée à ce niveau là.

    Quelqu'un saurait-il pourquoi cette fonction ne marche pas ?

    Merci par avance.

  2. #2
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    Bonjour,

    Un problème de clé primaire apparement. Quelle est la structure et le contenu de la table à l'heure actuelle ? Y-a-t-il une clé primaire ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 47
    Par défaut
    Merci,

    Je viens de trouver pourquoi j'avais cette erreur. En fait avec mon INSERT je renseignant la clé primaire, et apparemment il n'aime pas.

    En revanche, j'ai une autre erreur :
    Subquery return more than 1 row

    Apparemment, il n'est pas possible de retourner plusieurs résultats sous forme de SELECT. Du coup quelqu'un a-t-il une idée pour que je puisse retourner la liste des résultats de la fonction sans avoir à interroger la table par une autre requête.

    Merci.

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

Discussions similaires

  1. [MySQL] Fonctions des temps sous MySQL
    Par et-touri dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/07/2014, 09h17
  2. Gestion automatique des connexions sous MySQL
    Par aaron dans le forum Administration
    Réponses: 1
    Dernier message: 16/09/2010, 13h11
  3. Réponses: 4
    Dernier message: 12/11/2009, 17h09
  4. Réponses: 3
    Dernier message: 19/10/2006, 11h45
  5. Faire fonctionner des programmes sous Linux
    Par vviivvii dans le forum Mandriva / Mageia
    Réponses: 14
    Dernier message: 29/08/2006, 19h41

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