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 :

PL SQL Explication


Sujet :

PL/SQL Oracle

  1. #1
    Membre éclairé
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Par défaut PL SQL Explication
    Bonsoir à tous je n'ai pas l'habitude demander sa mais est ce que quelqu'un pourrait m'expliquer ces quelques lignes d'une proc stock écrite en PLSQL
    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
    (
                wdate in date,
                wsociete in varchar2,
                tab_ctx_dll out bocursors.table_ctx_dll) is
     
    wannee varchar2(4);
    wmois varchar2(2);
     
    begin
     
    select to_char(wdate,'YYYY'), to_char(wdate,'MM')
    into wannee, wmois
    from dual;
     
    case when wmois=1 then
    open tab_ctx_dll
     
    for
    select wannee,
      '01' mois,
      bogroupe.u##corg,
      bogroupe.lorg,
      bogroupe.u##cagence,
      bogroupe.cgroupe,
      substr(Locaux.cpos,1,2),
      boctx.ctyphas,
      boctx.ltyphas,
      boctx.u##idcompte,
      count(distinct boctx.u##idcompte),
      logirep_solde_compte(boctx.u##idcompte,last_day('01/01/'||wannee))
    FROM
      boctx,
      faitloc,
      locaux,
      bogroupe
    WHERE
      faitloc.U##IDMENAGE=boctx.U##IDCOMPTE
      and faitloc.U##IDLOCAL=locaux.U##IDLOCAL
      and locaux.U##IDGROUPE=bogroupe.U##IDGROUPE
      and (boctx.datclo is null or boctx.datclo > last_day('01/01/'||wannee))
      and boctx.datevent <= last_day('01/01/'||wannee)
      and boctx.ctyphas in('CDT', 'JUD', 'EXP')
      and boctx.ctyproc='CPR'
      and boctx.temctx  =  'C'
      and faitloc.temlprin = 1
      and bogroupe.u##corg=wsociete
      and boctx.nopha = Logirep_Max_No_Phase(boctx.u##idcompte, last_day('01/01/'||wannee))
    group by wannee,
    Je suis chez un client et sur un rapport BO on se sert de cette proc stock pour rappatrier les données, mais je ne la comprend pas bien. Elle n'est pas complète mais le reste je pourrai m'en sortir car en fait se sont pratiquement les mêmes lignes qui se répètent.

    Merci à tous

  2. #2
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    c'est le code PL/SQL que vous ne comprenez pas ou la requete SQL ?

  3. #3
    Membre éclairé
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Par défaut
    C'est le code que je ne comprend pas car d'après ce que j'ai pu comprendre on se sert de cette proc stock pour alimenter un curseur ou une table mais je ne comprend pas toutes les instructions et je voudrai rajouter un champs dedans.
    Merci

  4. #4
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut
    Pour ce que je comprends dans ce que tu a donné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    wdate IN date,
    wsociete IN varchar2,
    tab_ctx_dll out bocursors.table_ctx_dll
    Il attend une date, un nom de société, et restitura un curseur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT to_char(wdate,'YYYY'), to_char(wdate,'MM')
    INTO wannee, wmois
    FROM dual;
    Il recupére l'année et le mois en cours dans les variables wannee, wmois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    case when wmois=1 then
    open tab_ctx_dll
    si le mois en court est janvier alors il crée le curseur avec la requête suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    faitloc.U##IDMENAGE=boctx.U##IDCOMPTE
    La requête n'est pas bien complexe par contre je ne comprends pas les ## ??
    Quelqu'un sait ?

  5. #5
    Membre éclairé
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Par défaut
    Merci beaucoup pour toutes ces explications sa va m'aider énormement. Les Dièses je ne sais pas mais certaines tables dans la base oracle sont nommées ainsi

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

Discussions similaires

  1. PL SQL Explication
    Par Herlece dans le forum SQL
    Réponses: 4
    Dernier message: 04/07/2008, 22h11
  2. explication d'une commande SQL
    Par fred974 dans le forum SQL
    Réponses: 4
    Dernier message: 17/09/2007, 09h50
  3. SQL LOADER - Explication
    Par Merzouk dans le forum SQL*Loader
    Réponses: 0
    Dernier message: 13/08/2007, 11h06
  4. explication sur quelques login sql server 2k
    Par Bba_M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/07/2006, 09h23

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