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

Oracle Discussion :

[PL/SQL] Boucle


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [PL/SQL] Boucle
    Bonjour tout le monde, on m'a conseillé ce forum pour tous problemes sur n'importe quel langage

    Donc voila mon probleme, aujourd'hui je fais mon premier script en pl/sql et je dois mettre des infos d'une requete dans un fichier texte jusqu'a la tout va bien mais il me mets juste la premiere ligne de ma requete...

    Mais je n'arrive pas a faire un boucle jusqu'a la fin de la requete.

    Quelqu'un pourrait m'aidez svp

    J'espere avoir était assez clair

  2. #2
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Bonjour et bienvenu sur le forum.

    Peux-tu nous mettre ton code (éventuellement simplifié) pour que l'on puisse t'aider ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     -- insertion des données
      OPEN c1;
     
            FETCH c1 INTO  ided, coded , dated, codet ;
            clinedata:= ided || csep || coded || csep ||  dated ||  csep ||  codet ||  csep ;
    	      utl_file.put_line(lvfichier_insert,clinedata);
            clinedata:= To_Char (ided) || csep || coded || csep ||  To_Char (dated) ||  csep ||  codet ||  csep ;
            utl_file.put_line(lvfichier_insert,clinedata);
     
     
      CLOSE c1;
    Je te mets le bout de code ou il y'a l'insertion des données, je sais que la boucle sera de forme:

    WHILE condition LOOP
    --Instructions
    ENDLOOP;

    Le truc c'est au niveau de la condition je sais pas quoi mettre...

  4. #4
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Le plus simple est de faire quelque chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for mavar in c1 loop
       clinedata:= mavar.ided || mavar.csep || mavar.coded || mavar.csep ||  mavar.dated ||  mavar.csep ||  mavar.codet ||  mavar.csep ; 
             utl_file.put_line(lvfichier_insert,clinedata); 
    end loop;
    Cette syntaxe ouvre ton curseur c1, fais les fetch tant qu'il trouve des enregistrements, puis ferme ton curseur.

    Sinon tu peux également faire comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    OPEN c1; 
    loop  
            FETCH c1 INTO  ided, coded , dated, codet ; 
    exit when c1%notfound;
            clinedata:= ided || csep || coded || csep ||  dated ||  csep ||  codet ||  csep ; 
             utl_file.put_line(lvfichier_insert,clinedata); 
            clinedata:= To_Char (ided) || csep || coded || csep ||  To_Char (dated) ||  csep ||  codet ||  csep ; 
            utl_file.put_line(lvfichier_insert,clinedata); 
     
    end loop;
    CLOSE c1;

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. Procédure SQL : Boucle sur CURSEUR
    Par Yakaldir dans le forum DB2
    Réponses: 5
    Dernier message: 10/03/2007, 16h56
  2. Action SQL bouclée N fois
    Par ob1knob dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 29/11/2006, 11h02
  3. [SQL] Boucle et requête
    Par dafalri dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/08/2006, 15h03
  4. [SQL] Boucle de requête SQL
    Par xender dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/05/2006, 12h57
  5. [PL/SQL] Boucle de remplissage d'une table.
    Par Maglight dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/12/2005, 17h35

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