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 :

Ma procédure ne s'exécute pas normalement [MySQL-5.7]


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut Ma procédure ne s'exécute pas normalement
    Bonjour à tous

    J'ai mis au point une procédure stockée qui n'exécute pas normalement je comprend pas

    Voici ce que je veux faire :

    1 - Prendre une liste de compte
    2 - Pour chaque compte :
    a - Regrouper le montant par groupe
    b - Mettre une valeur "TEST" pour un champ du groupe

    Voici ma procédure :

    Code sql : 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
    41
    42
    43
    44
    45
    46
     
     
    DELIMITER $$
    CREATE DEFINER=`root`@`localhost` PROCEDURE `MISE_AJOUR_TOUSLESCOMPTES`(IN `LibExercice` VARCHAR(255), OUT `MONTANT` BIGINT(8))
        NO SQL
        DETERMINISTIC
    BEGIN
     
    DECLARE LibCompte VARCHAR(255);
     
    /*DECLARATION DE MON CURSEUR POUR LISTE MES COMPTES*/
    DECLARE _curs CURSOR 
    FOR SELECT MONCOMPTE.CODECOMPTE
    FROM MONCOMPTE
    WHERE (MONCOMPTE.CODECOMPTE NOT LIKE '%/%') 
    AND (MONCOMPTE.NATURECOMPTE = 'Depenses') 
    AND (MONCOMPTE.TITRECOMPTE = 'Rose') 
    AND (MONCOMPTE.EXERCICECOMPTE = LibExercice);
     
     /*OUVERTURE DE MON CURSEUR*/
    OPEN  _curs;
    BEGIN
    DECLARE _fin   INTEGER  DEFAULT 1;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET _fin = 0;
     
    FETCH _curs INTO LibCompte; /*SELECTION DU COMPTE EN COURS*/
     
    WHILE (_fin)
    DO
    /*POUR LE COMPTE ENCOURS REGROUPEMENT PAR SOMME*/ 
    SELECT SUM(MONCOMPTE.MONTBUGCOURS) INTO COMPTE, MONTANT FROM  MONCOMPTE WHERE MONCOMPTE.GROUPECOMPTE=LibCompte;
     
    /* MISE A JOUR DE LA VALEUR POUR LE COMPTE ENCOURS */
            IF MONTANT = 0 THEN 
            UPDATE MONCOMPTE SET MONCOMPTE.VAL_COMPTE='TEST' WHERE MONCOMPTE.CODECOMPTE=LibCompte ;
            ELSE
            UPDATE MONCOMPTE SET MONCOMPTE.VAL_COMPTE='' WHERE MONCOMPTE.CODECOMPTE=LibCompte;
    	END IF ;
     
    FETCH _curs INTO LibCompte;
    END WHILE;
    END;
    CLOSE _curs;
     
    END$$
    DELIMITER ;

    Normalement pour tous les comptes ou le montant =0 je dois avoir la valeur "TEST" dans mon champ VAL_COMPTE.

    Mais à l'exécution de la procédure je n'ai aucun changement ?

    j'ai besoin d'aiguillage

    Merci à tous

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut Devalender.

    J'ai fait au mieux.
    Code mysql : 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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `utf8`
            DEFAULT COLLATE       `utf8_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    create table `test`
    (  `id`              integer unsigned not null auto_increment primary key,
       `codecompte`      varchar(255)     not null,
       `naturecompte`    varchar(255)     not null,
       `titrecompte`     varchar(255)     not null,
       `exercicecompte`  varchar(255)     not null,
       `val_compte`      varchar(255)         null,
       `montbugcours`    decimal(15,2)    not null,
       `groupecompte`    varchar(255)     not null
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `test` (`codecompte`,`naturecompte`,`titrecompte`,`exercicecompte`,`val_compte`,`montbugcours`,`groupecompte`) values
      ('123456',  'credits',  'lila', 'Exercice 2020', NULL,   5.0, '123456'),
      ('123456',  'Depenses', 'lila', 'Exercice 2020', NULL,  10.0, '123456'),
      ('234567',  'Depenses', 'rose', 'Exercice 2020', NULL,  15.0, 'abcd'),
      ('345678',  'Depenses', 'rose', 'Exercice 2020', NULL,  20.0, 'abcd'),
      ('456789',  'Depenses', 'rose', 'Exercice 2020', NULL,  25.0, 'abcd'),
      ('567890',  'Depenses', 'rose', 'Exercice 2020', NULL,  30.0, 'xyz'),
      ('678901',  'Depenses', 'rose', 'Exercice 2020', NULL, -30.0, 'xyz'),
      ('789012',  'Depenses', 'rose', 'Exercice 2020', NULL,   0.0, 'xyz'),
      ('567/890', 'Depenses', 'rose', 'Exercice 2020', NULL,  30.0, '567/890')
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    | id | codecompte | naturecompte | titrecompte | exercicecompte | val_compte | montbugcours | groupecompte |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    |  1 | 123456     | credits      | lila        | Exercice 2020  | NULL       |         5.00 | 123456       |
    |  2 | 123456     | Depenses     | lila        | Exercice 2020  | NULL       |        10.00 | 123456       |
    |  3 | 234567     | Depenses     | rose        | Exercice 2020  | NULL       |        15.00 | abcd         |
    |  4 | 345678     | Depenses     | rose        | Exercice 2020  | NULL       |        20.00 | abcd         |
    |  5 | 456789     | Depenses     | rose        | Exercice 2020  | NULL       |        25.00 | abcd         |
    |  6 | 567890     | Depenses     | rose        | Exercice 2020  | NULL       |        30.00 | xyz          |
    |  7 | 678901     | Depenses     | rose        | Exercice 2020  | NULL       |       -30.00 | xyz          |
    |  8 | 789012     | Depenses     | rose        | Exercice 2020  | NULL       |         0.00 | xyz          |
    |  9 | 567/890    | Depenses     | rose        | Exercice 2020  | NULL       |        30.00 | 567/890      |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    --------------
    DROP PROCEDURE IF EXISTS `maj`
    --------------
     
    --------------
    CREATE PROCEDURE `maj` ( IN `_Exercice` VARCHAR(255))
    DETERMINISTIC
    NO SQL
     
    BEGIN
            DECLARE _Compte VARCHAR(255);
            DECLARE _Montant   decimal(15,2);
     
            DECLARE _fin   INTEGER      DEFAULT 1;
     
            DECLARE _tab CURSOR FOR        SELECT  distinct groupecompte
                                             FROM  `test`
                                            WHERE  groupecompte NOT LIKE '%/%'
                                              AND  naturecompte   = 'Depenses'
                                              AND  titrecompte    = 'Rose'
                                              AND  exercicecompte = _Exercice;
     
            DECLARE CONTINUE HANDLER FOR NOT FOUND SET _fin = 0;
     
            OPEN  _tab;
            FETCH _tab INTO _Compte;
     
            WHILE (_fin)
            DO
     
                    SELECT SUM(montbugcours) INTO _montant FROM `test`WHERE groupecompte = _Compte group by groupecompte;
     
                    IF _MONTANT = 0 THEN UPDATE `test` SET val_compte = 'TEST' WHERE groupecompte = _Compte;
                                    ELSE UPDATE `test` SET val_compte = ''     WHERE groupecompte = _Compte;
                    END IF ;
     
                    FETCH _tab INTO _Compte;
            END WHILE;
     
            CLOSE _tab;
    END
    --------------
     
    --------------
    call `maj`('Exercice 2020')
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    | id | codecompte | naturecompte | titrecompte | exercicecompte | val_compte | montbugcours | groupecompte |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    |  1 | 123456     | credits      | lila        | Exercice 2020  | NULL       |         5.00 | 123456       |
    |  2 | 123456     | Depenses     | lila        | Exercice 2020  | NULL       |        10.00 | 123456       |
    |  3 | 234567     | Depenses     | rose        | Exercice 2020  |            |        15.00 | abcd         |
    |  4 | 345678     | Depenses     | rose        | Exercice 2020  |            |        20.00 | abcd         |
    |  5 | 456789     | Depenses     | rose        | Exercice 2020  |            |        25.00 | abcd         |
    |  6 | 567890     | Depenses     | rose        | Exercice 2020  | TEST       |        30.00 | xyz          |
    |  7 | 678901     | Depenses     | rose        | Exercice 2020  | TEST       |       -30.00 | xyz          |
    |  8 | 789012     | Depenses     | rose        | Exercice 2020  | TEST       |         0.00 | xyz          |
    |  9 | 567/890    | Depenses     | rose        | Exercice 2020  | NULL       |        30.00 | 567/890      |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    J'ai effectué le regroupement non pas sur la colonne "codecompte" comm tu le fais, mais sur la colonne "groupecompte".
    Dans la colonne "val_compte", la valeur par défaut est le marquage à NULL.
    Dans le jeu d'essai, j'ai fait en sorte d'avoir les deux cas que tu traites ('TEST' et '').

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Bonjour Artemus24

    Toutes mes excuses pour le retard de ma question, problème de santé. je vais compiler tout ca et je te fais un retour !

    Merci at bonne journée

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut Devalender.

    Citation Envoyé par Devalender
    problème de santé.
    J'espère que tu vas mieux. Est-ce le covid-19 ?

    J'ai fait au mieux en essayant de garder la logique de ta procédure.
    Il se peut que cela ne réponde pas dans l'immédiat à tes attentes.
    Mais avec un jeu d'essai et quelques explications supplémentaires, je peux améliorer la procédure stockée.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Bonjour Artemus24

    Citation Envoyé par Artemus24 Voir le message
    Salut Devalender.
    J'espère que tu vas mieux. Est-ce le covid-19 ?
    Non mais grosse fatigue, mais ca va mieux merci

    Citation Envoyé par Artemus24 Voir le message
    J'ai fait au mieux en essayant de garder la logique de ta procédure.
    Il se peut que cela ne réponde pas dans l'immédiat à tes attentes.
    Mais avec un jeu d'essai et quelques explications supplémentaires, je peux améliorer la procédure stockée.
    @+
    Oui exactement c'est ce que j'ai compris.

    Bon voici le requête que j'ai repris avec une petite modification au niveau de l'égalité <> 0

    Code sql : 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
     
    BEGIN
            DECLARE _Compte VARCHAR(255);
            DECLARE _Montant   decimal(15,2);
     
            DECLARE _fin   INTEGER      DEFAULT 1;
     
            DECLARE _tab CURSOR FOR        SELECT  distinct groupecompte
                                             FROM  `moncompte`
                                             WHERE  naturecompte   = 'Depenses'
                                              AND  titrecompte    = 'TITRE I'
                                              AND  exercicecompte = _Exercice;
     
            DECLARE CONTINUE HANDLER FOR NOT FOUND SET _fin = 0;
     
            OPEN  _tab;
     
            FETCH _tab INTO _Compte;
     
             WHILE (_fin)
            DO
     
                   SELECT SUM(montbugcours) INTO _montant FROM `moncompte` WHERE groupecompte = _Compte group by groupecompte;
     
                    IF _MONTANT <> 0 THEN UPDATE `moncompte` SET val_compte = 'TEST' WHERE groupecompte = _Compte;
                                    ELSE UPDATE `moncompte` SET val_compte = ''     WHERE groupecompte = _Compte;
                    END IF ;
     
                    FETCH _tab INTO _Compte;
            END WHILE;
     
            CLOSE _tab;
     END

    Mon problème ici à l'exécution touts les comptes dont le groupement est diffèrent de zéro il met la valeur "TEST" ok. la c'est bon.

    Mon problème est que pour les compte avec montbugcours=0 il met aussi "TEST"

    Hors ce que je voulais est que tous les comptes dont la valeur est montbugcours est différents de 0 doivent passé a test et les autres non.

    En realité voila ce que je voulais faire avec ici val_compte="OUI" pour montbugcours <>0

    Nom : Capture8000000.PNG
Affichages : 110
Taille : 21,1 Ko

    Il existe donc des comptes dont le cumul du groupe est diffèrent de zéro, mais a l'intérieur de ce groupe il y'a des comptes égale à zéro ! je ne sais si j'ai bien expliqué !
    Merci

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut devalender.

    Citation Envoyé par Dvalender
    Non mais grosse fatigue, mais ca va mieux merci
    Moi de même, je suis encore très fatigué, après la confinement et la canicule de cet été.

    Citation Envoyé par Devalender
    à l'exécution touts les comptes dont le groupement est diffèrent de zéro il met la valeur "TEST" ok. la c'est bon.
    Mettre "TEST" si le montant total est <> zéro.

    Citation Envoyé par Devalender
    tous les comptes dont la valeur est montbugcours est différents de 0 doivent passé a test et les autres non.
    Si le montant total est <> zéro alors mettre "TEST" sauf sur les lignes ayant un montbugcours à zéro.
    Quand tu dis "les autres non", que dois-je comprendre ? Ne pas y toucher ? Ou bien mettre quelque chose dedans ?

    Comme j'ignore ce que tu désires faire dans le cas du zéro, j'ai modifié le update en introduisant un "case when ... then ... else ... end".
    Au niveau du test, j'ai repris ton exemple et ajouté un autre.

    Si le montant total est <> zéro alors j'applique le libelle "test 1" et "zéro 1".
    Si le montant total est = zéro alors j'applique le libelle "test 2" et "zéro 2".

    Si tu ne désire rien mettre dans le cas du zéro alors tu supprimes tout ce qu'il y a entre le "else" et le "end" du case.
    Je pense qu'avec cet exemple, tu pourras l'adapter à ta convenance.
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `utf8`
            DEFAULT COLLATE       `utf8_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `moncompte`
    --------------
     
    --------------
    create table `moncompte`
    (  `id`              integer unsigned not null auto_increment primary key,
       `codecompte`      varchar(255)     not null,
       `naturecompte`    varchar(255)     not null,
       `titrecompte`     varchar(255)     not null,
       `exercicecompte`  varchar(255)     not null,
       `val_compte`      varchar(255)         null,
       `montbugcours`    decimal(15,2)    not null,
       `groupecompte`    varchar(255)     not null
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `moncompte` (`exercicecompte`, `naturecompte`, `codecompte`,`titrecompte`,`montbugcours`,`groupecompte`,`val_compte`) values
      ('Exercice 2020',  'Depenses',  '6000/1', 'TITRE I',  1000000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/2', 'TITRE I',    27470.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/3', 'TITRE I',     7000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/4', 'TITRE I',    69420.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/5', 'TITRE I',    23610.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/6', 'TITRE I',   380500.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/7', 'TITRE I',    10000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/8', 'TITRE I',    30000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/9', 'TITRE I',        0.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses', '60010/1', 'TITRE I',        0.0, '60010', NULL),
      ('Exercice 2020',  'Depenses', '60010/2', 'TITRE I',        0.0, '60010', NULL),
      ('Exercice 2020',  'Depenses', '60020/1', 'TITRE I',       50.0, '60020', NULL),
      ('Exercice 2020',  'Depenses', '60020/2', 'TITRE I',      -20.0, '60020', NULL),
      ('Exercice 2020',  'Depenses', '60020/3', 'TITRE I',        0.0, '60020', NULL),
      ('Exercice 2020',  'Depenses', '60020/4', 'TITRE I',      -30.0, '60020', NULL)
    --------------
     
    --------------
    select * from `moncompte`
    --------------
     
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    | id | codecompte | naturecompte | titrecompte | exercicecompte | val_compte | montbugcours | groupecompte |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    |  1 | 6000/1     | Depenses     | TITRE I     | Exercice 2020  | NULL       |   1000000.00 | 6000         |
    |  2 | 6000/2     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     27470.00 | 6000         |
    |  3 | 6000/3     | Depenses     | TITRE I     | Exercice 2020  | NULL       |      7000.00 | 6000         |
    |  4 | 6000/4     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     69420.00 | 6000         |
    |  5 | 6000/5     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     23610.00 | 6000         |
    |  6 | 6000/6     | Depenses     | TITRE I     | Exercice 2020  | NULL       |    380500.00 | 6000         |
    |  7 | 6000/7     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     10000.00 | 6000         |
    |  8 | 6000/8     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     30000.00 | 6000         |
    |  9 | 6000/9     | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 6000         |
    | 10 | 60010/1    | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 60010        |
    | 11 | 60010/2    | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 60010        |
    | 12 | 60020/1    | Depenses     | TITRE I     | Exercice 2020  | NULL       |        50.00 | 60020        |
    | 13 | 60020/2    | Depenses     | TITRE I     | Exercice 2020  | NULL       |       -20.00 | 60020        |
    | 14 | 60020/3    | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 60020        |
    | 15 | 60020/4    | Depenses     | TITRE I     | Exercice 2020  | NULL       |       -30.00 | 60020        |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    --------------
    DROP PROCEDURE IF EXISTS `maj`
    --------------
     
    --------------
    CREATE PROCEDURE `maj` ( IN `_Exercice` VARCHAR(255))
    DETERMINISTIC
    NO SQL
     
    BEGIN
            DECLARE _Compte VARCHAR(255);
            DECLARE _Montant   decimal(15,2);
     
            DECLARE _fin   INTEGER      DEFAULT 1;
     
            DECLARE _tab CURSOR FOR        SELECT  distinct groupecompte
                                             FROM  `moncompte`
                                            WHERE  naturecompte   = 'Depenses'
                                              AND  titrecompte    = 'TITRE I'
                                              AND  exercicecompte = _Exercice;
     
            DECLARE CONTINUE HANDLER FOR NOT FOUND SET _fin = 0;
     
            OPEN  _tab;
            FETCH _tab INTO _Compte;
     
            WHILE (_fin)
            DO
                    SELECT SUM(montbugcours) INTO _Montant FROM `moncompte` WHERE groupecompte = _Compte group by groupecompte;
     
                    IF _MONTANT <> 0 THEN
                                    UPDATE `moncompte` SET val_compte = case when montbugcours <> 0.0 then 'TEST 1'
    												else 'ZERO 1' end
    							WHERE groupecompte = _Compte;
                    else    UPDATE `moncompte` SET val_compte = case when montbugcours <> 0.0 then 'TEST 2'
    												else 'ZERO 2' end
    							WHERE groupecompte = _Compte;
                    END IF ;
     
                    FETCH _tab INTO _Compte;
            END WHILE;
     
            CLOSE _tab;
    END
    --------------
     
    --------------
    call `maj`('Exercice 2020')
    --------------
     
    --------------
    select * from `moncompte`
    --------------
     
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    | id | codecompte | naturecompte | titrecompte | exercicecompte | val_compte | montbugcours | groupecompte |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    |  1 | 6000/1     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |   1000000.00 | 6000         |
    |  2 | 6000/2     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     27470.00 | 6000         |
    |  3 | 6000/3     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |      7000.00 | 6000         |
    |  4 | 6000/4     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     69420.00 | 6000         |
    |  5 | 6000/5     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     23610.00 | 6000         |
    |  6 | 6000/6     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |    380500.00 | 6000         |
    |  7 | 6000/7     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     10000.00 | 6000         |
    |  8 | 6000/8     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     30000.00 | 6000         |
    |  9 | 6000/9     | Depenses     | TITRE I     | Exercice 2020  | ZERO 1     |         0.00 | 6000         |
    | 10 | 60010/1    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60010        |
    | 11 | 60010/2    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60010        |
    | 12 | 60020/1    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |        50.00 | 60020        |
    | 13 | 60020/2    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |       -20.00 | 60020        |
    | 14 | 60020/3    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60020        |
    | 15 | 60020/4    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |       -30.00 | 60020        |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Bonsoir Artemus24
    j'essaie d'adapter tous ça et je reviens.
    Merci

  8. #8
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Artemus24 je viens de tester exactement ce que je cherchais je ne connaissais pas la syntaxe du case when Merci beaucoup
    Une autre question :
    - Pourquoi avoir choisi de faire une requête a partir du groupe et non du numéro du compte ? j'avoue que j'aurai jamais pensez a ça !
    Merci

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut Devalender.

    Citation Envoyé par Devalender
    je ne connaissais pas la syntaxe du case when Merci beaucoup
    Le CASE est très utile quand tu dois renseigner une colonne à partir d'une multitude de conditions.
    Cela permet en un seul passage de traiter tous les cas de figures.
    Sinon, tu es obligés de mettre un UPDATE par condition, ce qui rend les modifications bien plus long à l'exécution.

    Citation Envoyé par Devalender
    Pourquoi avoir choisi de faire une requête a partir du groupe et non du numéro du compte ? j'avoue que j'aurai jamais pensez a ça !
    J'ai raisonné en fonction des noms de tes colonnes.
    J'ai remarqué que tu utilisais un "/" pour la colonne "codecompte".
    J'en ai déduis que cette colonne possédait un compte principal (ce qui est avant le /) et une subdivision.
    Quand j'ai vu la colonne "groupecompte", j'ai compris que son contenu était identique à ce qu'il y a avant le / dans la colonne "codecompte".

    Sinon, est-ce utile de faire une procédure stockée ?
    Non, mais ta requête sera un peu plus complexe :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `utf8`
            DEFAULT COLLATE       `utf8_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `moncompte`
    --------------
     
    --------------
    create table `moncompte`
    (  `id`              integer unsigned not null auto_increment primary key,
       `codecompte`      varchar(255)     not null,
       `naturecompte`    varchar(255)     not null,
       `titrecompte`     varchar(255)     not null,
       `exercicecompte`  varchar(255)     not null,
       `val_compte`      varchar(255)         null,
       `montbugcours`    decimal(15,2)    not null,
       `groupecompte`    varchar(255)     not null
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`utf8` COLLATE=`utf8_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `moncompte` (`exercicecompte`, `naturecompte`, `codecompte`,`titrecompte`,`montbugcours`,`groupecompte`,`val_compte`) values
      ('Exercice 2020',  'Depenses',  '6000/1', 'TITRE I',  1000000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/2', 'TITRE I',    27470.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/3', 'TITRE I',     7000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/4', 'TITRE I',    69420.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/5', 'TITRE I',    23610.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/6', 'TITRE I',   380500.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/7', 'TITRE I',    10000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/8', 'TITRE I',    30000.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses',  '6000/9', 'TITRE I',        0.0,  '6000', NULL),
      ('Exercice 2020',  'Depenses', '60010/1', 'TITRE I',        0.0, '60010', NULL),
      ('Exercice 2020',  'Depenses', '60010/2', 'TITRE I',        0.0, '60010', NULL),
      ('Exercice 2020',  'Depenses', '60020/1', 'TITRE I',       50.0, '60020', NULL),
      ('Exercice 2020',  'Depenses', '60020/2', 'TITRE I',      -20.0, '60020', NULL),
      ('Exercice 2020',  'Depenses', '60020/3', 'TITRE I',        0.0, '60020', NULL),
      ('Exercice 2020',  'Depenses', '60020/4', 'TITRE I',      -30.0, '60020', NULL)
    --------------
     
    --------------
    select * from `moncompte`
    --------------
     
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    | id | codecompte | naturecompte | titrecompte | exercicecompte | val_compte | montbugcours | groupecompte |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    |  1 | 6000/1     | Depenses     | TITRE I     | Exercice 2020  | NULL       |   1000000.00 | 6000         |
    |  2 | 6000/2     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     27470.00 | 6000         |
    |  3 | 6000/3     | Depenses     | TITRE I     | Exercice 2020  | NULL       |      7000.00 | 6000         |
    |  4 | 6000/4     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     69420.00 | 6000         |
    |  5 | 6000/5     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     23610.00 | 6000         |
    |  6 | 6000/6     | Depenses     | TITRE I     | Exercice 2020  | NULL       |    380500.00 | 6000         |
    |  7 | 6000/7     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     10000.00 | 6000         |
    |  8 | 6000/8     | Depenses     | TITRE I     | Exercice 2020  | NULL       |     30000.00 | 6000         |
    |  9 | 6000/9     | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 6000         |
    | 10 | 60010/1    | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 60010        |
    | 11 | 60010/2    | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 60010        |
    | 12 | 60020/1    | Depenses     | TITRE I     | Exercice 2020  | NULL       |        50.00 | 60020        |
    | 13 | 60020/2    | Depenses     | TITRE I     | Exercice 2020  | NULL       |       -20.00 | 60020        |
    | 14 | 60020/3    | Depenses     | TITRE I     | Exercice 2020  | NULL       |         0.00 | 60020        |
    | 15 | 60020/4    | Depenses     | TITRE I     | Exercice 2020  | NULL       |       -30.00 | 60020        |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    --------------
    create table `moncompte_bis` like `moncompte`
    --------------
     
    --------------
    insert into `moncompte_bis`
      select * from `moncompte`
    --------------
     
    --------------
    commit
    --------------
     
    --------------
    DROP PROCEDURE IF EXISTS `maj`
    --------------
     
    --------------
    CREATE PROCEDURE `maj` ( IN `_Exercice` VARCHAR(255))
    DETERMINISTIC
    NO SQL
     
    BEGIN
            DECLARE _Compte VARCHAR(255);
            DECLARE _Montant   decimal(15,2);
     
            DECLARE _fin   INTEGER      DEFAULT 1;
     
            DECLARE _tab CURSOR FOR        SELECT  distinct groupecompte
                                             FROM  `moncompte`
                                            WHERE  naturecompte   = 'Depenses'
                                              AND  titrecompte    = 'TITRE I'
                                              AND  exercicecompte = _Exercice;
     
            DECLARE CONTINUE HANDLER FOR NOT FOUND SET _fin = 0;
     
            OPEN  _tab;
            FETCH _tab INTO _Compte;
     
            WHILE (_fin)
            DO
                    SELECT SUM(montbugcours) INTO _Montant FROM `moncompte` WHERE groupecompte = _Compte group by groupecompte;
     
                    IF _MONTANT <> 0 THEN
                                    UPDATE `moncompte` SET val_compte = case when montbugcours <> 0.0 then 'TEST 1'
                                                                              else 'ZERO 1' end
                                                    WHERE groupecompte = _Compte;
                    else    UPDATE `moncompte` SET val_compte = case when montbugcours <> 0.0 then 'TEST 2'
                                                                              else 'ZERO 2' end
                                                    WHERE groupecompte = _Compte;
                    END IF ;
     
                    FETCH _tab INTO _Compte;
            END WHILE;
     
            CLOSE _tab;
    END
    --------------
     
    --------------
    call `maj`('Exercice 2020')
    --------------
     
    --------------
    select * from `moncompte`
    --------------
     
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    | id | codecompte | naturecompte | titrecompte | exercicecompte | val_compte | montbugcours | groupecompte |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    |  1 | 6000/1     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |   1000000.00 | 6000         |
    |  2 | 6000/2     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     27470.00 | 6000         |
    |  3 | 6000/3     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |      7000.00 | 6000         |
    |  4 | 6000/4     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     69420.00 | 6000         |
    |  5 | 6000/5     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     23610.00 | 6000         |
    |  6 | 6000/6     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |    380500.00 | 6000         |
    |  7 | 6000/7     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     10000.00 | 6000         |
    |  8 | 6000/8     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     30000.00 | 6000         |
    |  9 | 6000/9     | Depenses     | TITRE I     | Exercice 2020  | ZERO 1     |         0.00 | 6000         |
    | 10 | 60010/1    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60010        |
    | 11 | 60010/2    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60010        |
    | 12 | 60020/1    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |        50.00 | 60020        |
    | 13 | 60020/2    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |       -20.00 | 60020        |
    | 14 | 60020/3    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60020        |
    | 15 | 60020/4    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |       -30.00 | 60020        |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    --------------
    UPDATE     `moncompte_bis` as t1
    INNER JOIN (  SELECT  SUM(montbugcours) as montant,
                          groupecompte      as compte
     
                    FROM `moncompte_bis`
     
                   WHERE  naturecompte   = 'Depenses'
                     AND  titrecompte    = 'TITRE I'
                     AND  exercicecompte = 'Exercice 2020'
                GROUP BY  groupecompte
               ) as t2
     
            on  t2.compte = t1.groupecompte
     
    SET t1.val_compte = case when t2.montant <> 0 and t1.montbugcours <> 0.0 then 'TEST 1'
                             when t2.montant <> 0 and t1.montbugcours  = 0.0 then 'ZERO 1'
                             when t2.montant  = 0 and t1.montbugcours <> 0.0 then 'TEST 2'
                             when t2.montant  = 0 and t1.montbugcours  = 0.0 then 'ZERO 2' end
     
    WHERE t1.groupecompte = t2.compte
    --------------
     
    --------------
    select * from `moncompte_bis`
    --------------
     
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    | id | codecompte | naturecompte | titrecompte | exercicecompte | val_compte | montbugcours | groupecompte |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    |  1 | 6000/1     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |   1000000.00 | 6000         |
    |  2 | 6000/2     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     27470.00 | 6000         |
    |  3 | 6000/3     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |      7000.00 | 6000         |
    |  4 | 6000/4     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     69420.00 | 6000         |
    |  5 | 6000/5     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     23610.00 | 6000         |
    |  6 | 6000/6     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |    380500.00 | 6000         |
    |  7 | 6000/7     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     10000.00 | 6000         |
    |  8 | 6000/8     | Depenses     | TITRE I     | Exercice 2020  | TEST 1     |     30000.00 | 6000         |
    |  9 | 6000/9     | Depenses     | TITRE I     | Exercice 2020  | ZERO 1     |         0.00 | 6000         |
    | 10 | 60010/1    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60010        |
    | 11 | 60010/2    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60010        |
    | 12 | 60020/1    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |        50.00 | 60020        |
    | 13 | 60020/2    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |       -20.00 | 60020        |
    | 14 | 60020/3    | Depenses     | TITRE I     | Exercice 2020  | ZERO 2     |         0.00 | 60020        |
    | 15 | 60020/4    | Depenses     | TITRE I     | Exercice 2020  | TEST 2     |       -30.00 | 60020        |
    +----+------------+--------------+-------------+----------------+------------+--------------+--------------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    J'espère que tu as testé avant de mettre cela en production.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  10. #10
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Bonsoir Artemus24
    Merci pour toutes ses explications. Oui j'ai testé et re-testé plusieurs fois.
    Merci

  11. #11
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut Devalender.

    Au final, vas-tu utiliser la procédure stockée ou la requête ?

    Si tu as fini, tu peux mettre le sujet en résolu !

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  12. #12
    Membre éprouvé
    Homme Profil pro
    Benevole
    Inscrit en
    Mai 2004
    Messages
    1 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Benevole
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 679
    Points : 954
    Points
    954
    Par défaut
    Bonjour Artemus24

    Citation Envoyé par Artemus24 Voir le message
    Salut Devalender.

    Au final, vas-tu utiliser la procédure stockée ou la requête ?
    Moi j'aime bien les procédure stockée (venant du monde de firebird ! ) ça me permet de séparer un peu les choses. Je fais mes armes maintenant avec Mysql, donc je serai très souvent dans vos basquets pour d'éventuelles problèmes.
    Merci encore pour le coup de main.

    Citation Envoyé par Artemus24 Voir le message
    Si tu as fini, tu peux mettre le sujet en résolu !

    Cordialement.
    Artemus24.
    @+
    Oui j'avais dèja mis le sujet resolu depuis la dernière correction.

    Merci

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

Discussions similaires

  1. Procédure stockée ne s'exécute pas correctement
    Par Invité dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 23/09/2015, 15h26
  2. La procédure évènementielle ne s'exécute pas
    Par Peter K. dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/08/2009, 09h37
  3. Réponses: 8
    Dernier message: 21/02/2008, 08h34
  4. Debuger une procédure stockée en mode pas à pas
    Par Oluha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/12/2004, 10h59
  5. Réponses: 3
    Dernier message: 09/10/2002, 11h35

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