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 :

Gestion des variables dans un curseur explicite


Sujet :

PL/SQL Oracle

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Mars 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Mars 2020
    Messages : 5
    Par défaut Gestion des variables dans un curseur explicite
    Bonjour à tous !

    Je découvre actuellement la gestion des curseurs sous Oracle, j'ai passé plusieurs années sous TRANSACT-SQL (Microsoft) auparavant.

    Ma plasticité neuronale n'étant pas exceptionnelle, j'ai un peu de mal à faire le switch intellectuel .

    Contexte de ma question :

    J'ai un carnet de commande plusieurs lignes de commande envoyé par un client tous les débuts de semaines (Colonnes article, date, une quantité à livrer, Reste à livrer). Rien d'exceptionnel jusque la.

    Nom : CARNET_CDE_simple.JPG
Affichages : 210
Taille : 21,0 Ko

    Notre société livre plusieurs fois dans la semaine, on nous aimerions connaitre le reste à livrer sur les commandes en question avant la prochaine réception du carnet de commande la semaine d'après.

    Contrainte : La somme des BL expédiés doit décrémenter les quantité des commandes ligne par ligne dans une colonne reste à livrer en fonction des dates.

    Le tout est ensuite injecté dans une autre table (similaire) qui vient accueillir le reste à livrer. Je précise que ne veux pas modifier la table d'origine (il s'agit de la table d'un ERP).

    J'éprouve de grandes difficultés à garder la variable du "reste" en mémoire pour qu'elle soit traitée dans la ligne d'après (quelque chose m'échappe).

    Quelqu'un peut-il m'orienter sur le moment ou je dois initialiser/calculer mes variables ?

    N.B : Désolé si mon code manque de classe, j'en suis à mes balbutiements

    Nom : TABLEAU_RAL.png
Affichages : 205
Taille : 13,1 Ko

    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
     
    DECLARE
     
    REFERENCE T_CMDE.REFERENCE%TYPE;
    NUM_CMDE_CLI T_CMDE.NUM%TYPE;
    DATE_LIV T_CMDE.DATE_JOUR%TYPE;
    QTE T_CMDE.QTE%TYPE;
    QTE_RAL NUMBER :=0;
    QTE_LAST_BL NUMBER :=16;
    RESTE NUMBER :=0;
    RESTE2 NUMBER :=0;
     
    CURSOR CURS_ IS
     
    SELECT   
             a.REFERENCE
           , a.NUM_CMDE_CLI
           , a.DATE_LIV
           , a.QTE
           , QTE_RAL
           , QTE_LAST_BL
     
    FROM T_CMDE a
    WHERE a.REFERENCE='ARTICLE_1' 
    ORDER BY 
    , TO_DATE(TO_CHAR(TO_DATE(SUBSTR(a.DATE_LIV,0,8),'yyyymmdd'),'dd-mm-yyyy')) ASC;
     
    BEGIN
     
      OPEN CURSE_GS;
     
         LOOP
     
         FETCH CURSE_GS INTO  
               ID_EDI_FILE
             , REFERENCE
             , NUM_CMDE_CLI
             , DATE_LIV
             , QTE
             , QTE_RAL
             , QTE_LAST_BL
             ;
     
    INSERT INTO T_CMDE_RAL 
    VALUES
    (
    ID_EDI_FILE
    , REFERENCE
    , NUM_CMDE_CLI
    , DATE_LIV
    , QTE
    , QTE_RAL
    , QTE_LAST_BL
    , RESTE2
    );
     
     
        EXIT WHEN NOT CURSE_GS%FOUND;
     
    END LOOP;
    Merci par avance pour votre aide !
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/12/2005, 11h07
  2. [Sécurité]Gestion des accès dans plusieurs bases
    Par vincentj dans le forum Débuter
    Réponses: 1
    Dernier message: 05/01/2005, 14h19
  3. Gestion des headers dans un Makefile
    Par Weren dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 09/11/2004, 10h44
  4. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  5. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44

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