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 :

SQL Boucle WHILE [MySQL-4.0]


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut SQL Boucle WHILE
    Bonjour,
    L'exécution sur phpMyAdmin du code ci-dessous génère : #1064 - Erreur de syntaxe près de '' à la ligne 3
    Quel est votre avis ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE PROCEDURE test()
    BEGIN
    DECLARE i INT DEFAULT 0;
    	WHILE i < 10 DO
    		SET i := i + 1;
    		SELECT i;
    	END WHILE;
    END

  2. #2
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 788
    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 788
    Par défaut
    Salut Alain B.

    Il n'y a pas de ":" devant le "=".

    Voici le source du script :
    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
    START TRANSACTION;
     
    -- ======================
    -- Base de Données `base`
    -- ======================
     
    DROP DATABASE IF EXISTS `base`;
     
    CREATE DATABASE IF NOT EXISTS `base`
    	DEFAULT CHARACTER SET `latin1`
    	DEFAULT COLLATE       `latin1_general_ci`;
     
    USE `base`;
     
    -- ==================
    -- Procédure `iterer`
    -- ==================
     
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `iterer`$$
     
    CREATE PROCEDURE `iterer`()
    BEGIN
    DECLARE _i  integer default 0;
     
    WHILE (_i < 10)
    DO
      select _i as "index";
     
      SET _i = _i + 1;
    END WHILE;
    END $$
    DELIMITER ;
     
    -- =====================
    -- Appel de la procédure
    -- =====================
     
    CALL iterer();
     
     
    -- ===
    -- FIN
    -- ===
     
    COMMIT;
    EXIT
    Et voici son execution :
    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
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP PROCEDURE IF EXISTS `iterer`
    --------------
     
    --------------
    CREATE PROCEDURE `iterer`()
    BEGIN
    DECLARE _i  integer default 0;
     
    WHILE (_i < 10)
    DO
      select _i as "index";
     
      SET _i = _i + 1;
    END WHILE;
    END
    --------------
     
    --------------
    CALL iterer()
    --------------
     
    +-------+
    | index |
    +-------+
    |     0 |
    +-------+
    +-------+
    | index |
    +-------+
    |     1 |
    +-------+
    +-------+
    | index |
    +-------+
    |     2 |
    +-------+
    +-------+
    | index |
    +-------+
    |     3 |
    +-------+
    +-------+
    | index |
    +-------+
    |     4 |
    +-------+
    +-------+
    | index |
    +-------+
    |     5 |
    +-------+
    +-------+
    | index |
    +-------+
    |     6 |
    +-------+
    +-------+
    | index |
    +-------+
    |     7 |
    +-------+
    +-------+
    | index |
    +-------+
    |     8 |
    +-------+
    +-------+
    | index |
    +-------+
    |     9 |
    +-------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    @+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut
    Bonjour et Merci Artemus24
    Je vais profiter de ta solution pour achever l'écriture d'un code.

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

Discussions similaires

  1. chargement du Combo Par sql boucle While wend
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/06/2008, 18h16
  2. Réponses: 15
    Dernier message: 11/05/2007, 15h28
  3. Requete SQL dans boucle while
    Par vince_grenoblois dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 04/08/2006, 20h41
  4. [T-SQL]Skipper un tour de boucle while
    Par agougeon dans le forum Sybase
    Réponses: 2
    Dernier message: 04/08/2006, 13h26
  5. [T-SQL]pb boucle while
    Par agougeon dans le forum Sybase
    Réponses: 1
    Dernier message: 24/07/2006, 12h05

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