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

PL/SQL Oracle Discussion :

Boucle FOR sur deux années


Sujet :

PL/SQL Oracle

  1. #1
    Membre éprouvé Avatar de pinocchio
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2002
    Messages : 795
    Points : 960
    Points
    960
    Par défaut Boucle FOR sur deux années
    Bonjour,
    J'ai un traitement à effectuer sur l'année en cours ainsi que la précédente.
    Sur les 2 années, je répète une même liste de requête qui me donne la liste des valeurs à insérer en fonction de données dans d'autres tables.
    Afin d'éviter de répéter 2 fois les mêmes requêtes, je pensais faire une boucle for mais celle-ci ne fonctionne pas.
    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
    CREATE OR REPLACE procedure calcul_co
    	(
    ... liste de paramètre
    	) is 
    		lAnneeA			number;		-- Année en cours
    		lAnneeA1			number;		-- Année précédente
    	begin
    		-- Récupération de l'année en cours
    		select extract(year from sysdate),extract(year from SYSDATE-365) into lAnneeA,lAnneeA1 from dual;
     
        LOOP
     
     		for i in lAnneeA..lAnneeA1 loop
    			case i
    				WHEN 2011 THEN DBMS_OUTPUT.PUT_LINE ('2011');
    				WHEN 2012 THEN DBMS_OUTPUT.PUT_LINE ('2012');
    			END CASE;
    		end loop;
    	end;
    end;
    /
    Je ne rentre pas dans la boucle alors que mes valeurs sont bien 2011 et 2012.
    Pourriez-vous, s'il vous plait, m'indiquer mon erreur quii semble simple mais que je ne trouve pas.
    Cordialement
    La SNCF est mon ami
    blog PARIS-GRANVILLE
    Inscription au panel IPSOS (possibilité d'avoir des bons d'achats)

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    C'est normal!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    For i In 2012..2011 LOOP

  3. #3
    Membre éprouvé Avatar de pinocchio
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2002
    Messages : 795
    Points : 960
    Points
    960
    Par défaut
    Merci beaucoup, je sentais bien que c'était simple mais pas moyen de voir.
    Merci et désolé
    La SNCF est mon ami
    blog PARIS-GRANVILLE
    Inscription au panel IPSOS (possibilité d'avoir des bons d'achats)

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Par contre -365 c'est pas top pour les années bissextiles :
    http://www.developpez.net/forums/d98...e/#post5495214

  5. #5
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT extract(year FROM sysdate),extract(year FROM ADD_MONTHS(SYSDATE,-12)) INTO lAnneeA,lAnneeA1 FROM dual
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

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

Discussions similaires

  1. [AC-2003] Boucle For sur colonnes
    Par thebigrensky dans le forum VBA Access
    Réponses: 0
    Dernier message: 27/01/2010, 15h52
  2. Boucle FOR sur certaines colonnes
    Par coralie59 dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/02/2009, 11h54
  3. [BASH] boucle for sur des fichiers, recuperation du chemin ?
    Par zevince dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 13/11/2007, 10h47
  4. Boucle for sur fichiers sauf un !
    Par coincoin22 dans le forum Linux
    Réponses: 4
    Dernier message: 13/08/2007, 14h41
  5. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55

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