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 :

Changer une procédure en Function dans Mysql, c'est un peu urgent


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 15
    Par défaut Changer une procédure en Function dans Mysql, c'est un peu urgent
    Salut à tous, svp c'est un peu urgent, j'ai beau essayer de changer ma procédure en fonction dans Mysql, sans aucun résultat.
    Ma procédure marche parfaitement, elle crée deux tables temporaires puis enregistre et liste les journées de travail sans les weekends ou bien les weekends tout seuls. J'ai mis trois lignes de test en bas , merci d'avance.


    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    DROP PROCEDURE IF EXISTS Proc_Days_sans_Weekends;
    CREATE PROCEDURE Proc_Days_sans_Weekends(Start_date DATE, End_date DATE) 
    BEGIN 
    DECLARE Date_V1 DATE; 
    SET Date_V1 = Start_date; 
    DROP TABLE IF EXISTS Journee_de_travail; 
    DROP TABLE IF EXISTS Journee_Weekends; 
    CREATE TEMPORARY TABLE Journee_de_travail(Journee_Work date); 
    CREATE TEMPORARY TABLE Journee_Weekends(Journee_OFF date); 
    IF ( Start_date > End_date ) THEN 
    SELECT "Invalid dates supplied"; 
    END IF; 
    WHILE Date_V1 <= End_date DO 
     
    IF (DAYNAME(Date_V1) = 'Sunday' or  DAYNAME(Date_V1) = 'Saturday' )        THEN INSERT INTO Journee_Weekends VALUES(Date_V1); 
     
     
    ELSE 
    INSERT INTO Journee_de_travail VALUES(Date_V1); 
    END IF; 
     
    SET Date_V1 = DATE_ADD(Date_V1,INTERVAL 1 DAY); 
     
    END WHILE; 
     
    SELECT count(Journee_Work) AS _of_days_Taken FROM Journee_de_travail; 
    END;
     
     
     
     
     
    --Tests ( regardes sur l'image ) : 
    CALL Proc_Days_sans_Weekends('2012-11-01','2012-12-30'); 
     
    -- on peut afficher une table de weekends ou bien de journées de travail   ^^
    select * from Journee_de_travail;
    select * from Journee_Weekends;

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    dans mysql tu ne peux retourner un jeu de résultats directement depuis une fonction... si tu veux réutiliser les résultats dans d'autres requêtes, tu dois garder la forme procédure et faire tes select sur les tables temporaires créées... en faire une fonction ne t'apportera aucune solution...

Discussions similaires

  1. [MySQL] Encodage lors d'une insertion de données dans MySQL
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 08/02/2008, 14h24
  2. Récupérer les lignes d'une procédure SQL Server dans le programme VB.NET
    Par Mikelester12 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 30/07/2007, 11h33
  3. Réponses: 4
    Dernier message: 28/08/2006, 13h04
  4. [c++]Mettre une procédure de fenetre dans une class
    Par Spartan03 dans le forum Windows
    Réponses: 10
    Dernier message: 01/12/2005, 10h56

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