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 Oracle Discussion :

LOOP et section déclarative


Sujet :

SQL Oracle

  1. #1
    Invité
    Invité(e)
    Par défaut LOOP et section déclarative
    Bonjour,

    J'ai un petit soucis pour réaliser une boucle un peu particulière dans mon code PL/SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    PROCEDURE P IS
    
    CURSOR C IS
       SELECT TABLE1.CHAMP1, TABLE2.CHAMP2, TABLE3.CHAMP3
       FROM TABLE1, TABLE2, TABLE3
       WHERE (jointures);
    
    BEGIN 
       FOR i IN 1...3 LOOP
            (traitement PL/SQL)
       END LOOP;    
    END;
    J'aimerais déplacer la boucle LOOP comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    PROCEDURE P IS
    FOR i IN 1...3 LOOP
       CURSOR C IS
          SELECT TABLE1.CHAMP1, TABLE2.CHAMP2, TABLE3.CHAMP3
          FROM TABLE1, TABLE2, TABLE3
          WHERE TABLE1.CHAMP1=i 
          AND (jointures);
    
       BEGIN    
            (traitement PL/SQL)
    END LOOP;    
    END;
    Je souhaiterais ainsi que la boucle englobe la section déclarative ainsi que le traitement PL/SQL de ces données, ceci afin de pouvoir lire avec mon curseur des données différentes à chaque passage dans ma boucle et les traiter ensuite, mais la syntaxe n'est évidemment pas correcte.

    Quelle serait la syntaxe correcte pour réaliser ce genre d'opération ?

    Merci d'avance
    Dernière modification par Invité ; 21/02/2008 à 22h46.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu cherches à passer un paramètre dans ton curseur :

    http://sheikyerbouti.developpez.com/...=Chap1#L1.2.22

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SQL> Declare
      2    -- déclaration du curseur
      3    CURSOR C_EMP ( PN$Num IN EMP.empno%Type )IS
      4    Select
      5       empno
      6      ,ename
      7      ,job
      8    From
      9      EMP 
     10    Where
     11      empno = PN$Num
     12    ;

  3. #3
    Invité
    Invité(e)
    Par défaut
    Un grand merci pour ta réponse qui m'est d'une grande utilité

    Bonne soirée !

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

Discussions similaires

  1. [Débat] Votre avis sur la section "Dev Web"
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 31
    Dernier message: 03/03/2004, 20h55
  2. [CR] Grouper des sections de détail?
    Par rodrigue50 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 06/06/2003, 14h32
  3. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06
  4. [Conception] Section administration d'un site, tables
    Par bolo dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 02/04/2003, 14h17
  5. [éditeur de rapport]section
    Par Stessy dans le forum PowerAMC
    Réponses: 11
    Dernier message: 28/03/2003, 12h36

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