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 :

Syntaxe boucle for


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 38
    Par défaut Syntaxe boucle for
    Bonjour
    Je voudrais insérer X fois la même ligne à l'aide d'une boucle for mais la syntaxe connais pas ...

    J'ai essayé :
    for (i=0; i<70; i++) {insert into t_materiel values (last_insert_id(cle_info),last_insert_id(numero_inventaire),'2006-12-19','achat','UC','Dell','Optiplex GX520','A remplir','A remplir','stock','','630','magasin','','SAP','','4500442571','La Riche','Informatique','');}
    et
    for compteur in 1 .. 70 loop insert into t_materiel values (last_insert_id(cle_info),last_insert_id(numero_inventaire),'2006-12-19','achat','UC','Dell','Optiplex GX520','A remplir','A remplir','stock','','630','magasin','','SAP','','4500442571','La Riche','Informatique','') end loop;
    mais ça marche pas !!!
    Un conseil SVP !!!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Le for n'existe pas en mysql !!!
    Le mieux est d'utiliser une boucle while
    http://dev.mysql.com/doc/refman/5.0/...statement.html

    ou une boucle repeat.
    http://dev.mysql.com/doc/refman/5.0/...statement.html

    Après peut être que dans ton cas, tu soufaite l'utiliser sous du code php et là je ne peux t'aider!!!!
    Désolé

  3. #3
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 38
    Par défaut
    Rien ne fonctionne ....

    Je ne veux pas créer de procédure mais je ne peux pas sortir du mode "édition" et donc n'exécute pas la commande ...

    Comment fait-on ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Tu n'as pas les droits pour créer des procédures ?

    Peux tu décrire simplement ce que tu veux faire s'en rentrer dans le détail du code !!!!

  5. #5
    Membre averti
    Inscrit en
    Septembre 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 38
    Par défaut
    Je voudrais insérer X fois la même ligne à l'aide d'une boucle.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Ce paramètre X vient d'où?
    Quelles sont les données à insérer ? D'où viennent elles ?
    Dans quoi les insérer ? où ? selon quelle structure ?

  7. #7
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 287
    Par défaut
    Citation Envoyé par fmoriet
    Je ne veux pas créer de procédure mais je ne peux pas sortir du mode "édition" et donc n'exécute pas la commande ...
    Quel mode édition ? de quel client MySQL parles-tu ?

  8. #8
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 287
    Par défaut
    Citation Envoyé par fmoriet
    Bonjour
    Je voudrais insérer X fois la même ligne à l'aide d'une boucle for
    Ce n'est pas la meilleure méthode... j'y reviens à la fin de ce post.
    Citation Envoyé par fmoriet
    mais la syntaxe connais pas ...
    si tu ne connais pas la syntaxe, RTFM http://dev.mysql.com/doc/refman/5.0/...onstructs.html
    Citation Envoyé par fmoriet
    J'ai essayé :
    for (i=0; i<70; i++) {insert into t_materiel values (last_insert_id(cle_info),last_insert_id(numero_inventaire),'2006-12-19','achat','UC','Dell','Optiplex GX520','A remplir','A remplir','stock','','630','magasin','','SAP','','4500442571','La Riche','Informatique','');}
    et
    for compteur in 1 .. 70 loop insert into t_materiel values (last_insert_id(cle_info),last_insert_id(numero_inventaire),'2006-12-19','achat','UC','Dell','Optiplex GX520','A remplir','A remplir','stock','','630','magasin','','SAP','','4500442571','La Riche','Informatique','') end loop;
    mais ça marche pas !!!
    Normal : la première boucle, c'est du PHP, la seconde c'est du Perl, mais rien de tout ça n'est du SQL.
    Citation Envoyé par fmoriet
    Un conseil SVP !!!
    Supposons que X ait une valeur maximal de 9, et que tu aies une table Chiffres(Num) contenant les chiffres de 0 à 9 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    insert into t_materiel 
    SELECT last_insert_id(cle_info), last_insert_id(numero_inventaire), '2006-12-19', 'achat', 'UC', 'Dell', 'Optiplex GX520', 'A remplir', 'A remplir', 'stock', '', '630', 'magasin', '', 'SAP', '', '4500442571', 'La Riche', 'Informatique', ''
    FROM Chiffres
    WHERE Chiffres.Num < X
    Si maintenant X peut aller jusqu'à 99 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    insert into t_materiel values 
    SELECT ...
    FROM Chiffres Unites
      CROSS JOIN Chiffres Dizaines
    WHERE 10 * Dizaines.Num + Unites.Num < X
    et ainsi de suite selon la valeur maximale de X.

Discussions similaires

  1. [XL-2010] syntaxe boucle "for each"
    Par sterf dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/09/2014, 16h05
  2. [AC-2007] Syntaxe boucle for
    Par larkoup dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/07/2013, 18h48
  3. syntaxe boucle for (was : array.filter : différence ie / fx)
    Par Peanut dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/02/2009, 09h28
  4. [VBS][Débutant] Problème syntaxe boucle For
    Par _alex_ dans le forum VBScript
    Réponses: 2
    Dernier message: 26/07/2006, 14h26
  5. [Syntaxe] Boucle For imbriquées en 1.5
    Par Piolet dans le forum Langage
    Réponses: 5
    Dernier message: 09/01/2005, 00h49

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