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 :

Récupérer valeur de date précédente


Sujet :

SQL Oracle

  1. #21
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Bon, j'en suis arrivé la avec le merge :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    merge into i
    using (Select max(f.date_facture)
            FROM f
            WHERE i.invoice_date < f.date_facture
            AND (i.csc_euro IS NULL 
            OR i.prg_euro IS NULL
            OR i.prs_ssa_euro IS NULL)) f
    ON (i.customer_code = f.code_client
        i.invoice_code = f.code_facture
        I.PRODUCT_CODE = f.code_produit
        i.deliveried_quantity = f.quantite)
    When matched then update set i.csc_euro = f.csc / f.quantite * I.DELIVERIED_QUANTITY;
    Juste pour la première partie, le reste ne changera pas tellement par rapport à ça.
    Par contre j'ai une erreur parenthèse de droite absente qu'il faut que je règle encore et je ne comprends rien à la fonction KEEP (DENSE_RANK last order by).
    J'ai googlé la fonction mais il n'y a pas vraiment de vrais tutos explicatifs (à la rigueur le blog de laurent schneider qui est aussi sur dvp).
    Qu'est ce qu'elle est censée effectué cette fonction dans cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT max(factures.csc) KEEP(DENSE_RANK LAST ORDER BY invoice_date)
    Merci

  2. #22
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT max(factures.csc) KEEP(DENSE_RANK LAST ORDER BY invoice_date)
    On demande de prendre une seule valeur de factures.csc, en ne gardant (KEEP) que le dernier (LAST) des enregistrements rangés (ORDER BY) sans trou lié aux ex-eaquo (DENSE_RANK) par invoice_date.

    EDIT : précision sur le dense_rank.

  3. #23
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    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
     
    MERGE INTO invoiceD t
    USING (                            
        SELECT i.La_PK, max(f.prs_ssa) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prs_ssa, 
               max(f.csc) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) csc, 
               max(f.prg) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prg,        
        FROM invoice i 
          JOIN factures f ON i.customer_code = factures.code_client 
                      AND i.invoice_code = f.numero_facture 
                      AND i.product_code = f.code_article
                      AND i.deliveried_quantity = f.quantite
                      AND i.invoice_date < f.date_facture
        GROUP BY i.La_PK
           ) s
    ON (i.La_PK = s.La_PK)
    WHERE t.csc_euro IS NULL 
        OR t.prg_euro IS NULL
        OR t.prs_ssa_euro IS NULL  
    WHEN MATCHED THEN UPDATE t.prs_ssa = s.prs_ssa, t.csc = s.csc, t.prg = s.prg
    Ce que tu mets dans le USING, c'est le résultset que tu veux utiliser pour mettre à jour InvoiceD :
    -Tu fais la jointure entre InvoiceD et Factures parce que tu a besoin de la date dans InvoiceD pour choisir tes factures
    - Tu fais un GROUP BY parce que tu veux une seule ligne par invoice à mettre à jour. La_PK, c'est la primary key de InvoiceD qui te permet d'identifier de manière sûre.
    - KEEP .. machin : ça veut dire : garde la valeur qui correspond à la plus grande invoice_date

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  4. #24
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Comme ils sont marrants la ou je travaille, il n'y a pas de clé primaire dans la table !
    Donc j'ai essayé d'adapter par rapport aux conditions ton merge :
    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
     
    MERGE INTO invoice inD
    USING (                            
        SELECT i.product_code, i.invoice_code, i.customer_code, i.deliveried_quantity, 
        max(f.prs_ssa) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prs_ssa, 
        max(f.csc) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) csc, 
        max(f.prg) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prg,        
        FROM invoice i 
          JOIN factures f 
                ON (i.customer_code = f.code_client 
                AND i.invoice_code = f.numero_facture 
                AND i.product_code = f.code_article
                AND i.deliveried_quantity = f.quantite
                AND i.invoice_date > f.date_facture)
        GROUP BY i.product_code, i.invoice_code, i.deliveried_quantity, i.customer_code
           ) s
    ON (i.product_code = s.product_code, 
        i.invoice_code = s.invoice_code, 
        i.customer_code = s.customer_code, 
        i.deliveried_quantity = s.deliveried_quantity)
    WHERE inD.csc_euro IS NULL 
        OR inD.prg_euro IS NULL
        OR inD.prs_ssa_euro IS NULL  
    WHEN MATCHED THEN UPDATE inD.prs_ssa_euro = f.prs_ssa, inD.csc_euro = f.csc, inD.prg_euro = f.prg;
    et j'ai un message d'erreur :
    ORA-00936: expression absente
    ça vient du group by qui ramène plusieurs colonnes ?

    Merci pour votre aide !

  5. #25
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Ca vient de la virgule en trop dans le SELECT du USING

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  6. #26
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    /facepalm

    J'ai un autre message d'erreur
    ORA-00907: parenthèse de droite absente
    Question subsidiaire : pourquoi le débuggeur // anti-erreur des logiciels oracle n'est-il pas plus précis ? Dans le genre, au moins indiquer la ligne et pas juste
    "Error at line 1"...

  7. #27
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ON (i.product_code = s.product_code, 
        i.invoice_code = s.invoice_code, 
        i.customer_code = s.customer_code, 
        i.deliveried_quantity = s.deliveried_quantity)
    Ce ne sont pas des virgules mais des AND qu'il faut mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ON (i.product_code = s.product_code
       AND i.invoice_code = s.invoice_code
       AND i.customer_code = s.customer_code
       AND i.deliveried_quantity = s.deliveried_quantity)
    ~ Lola ~

  8. #28
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Merci à toi !

    Mais

    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
     
    MERGE INTO invoice inD
    USING (                            
        SELECT i.product_code, i.invoice_code, i.customer_code, i.deliveried_quantity, 
        --prendre une seule valeur de f.prs_ssa, en ne gardant (KEEP) que le dernier (LAST) des enregistrements rangés (ORDER BY) sans trou lié aux ex-eaquo (DENSE_RANK) par invoice_date.
        max(f.prs_ssa) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prs_ssa, 
        max(f.csc) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) csc, 
        max(f.prg) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prg       
        FROM invoice i 
          JOIN factures f 
                ON (i.customer_code = f.code_client 
                AND i.invoice_code = f.numero_facture 
                AND i.product_code = f.code_article
                AND i.deliveried_quantity = f.quantite
                AND i.invoice_date > f.date_facture)
        GROUP BY i.product_code, i.invoice_code, i.deliveried_quantity, i.customer_code
           ) s
    ON (i.product_code = s.product_code 
        AND i.invoice_code = s.invoice_code 
        AND i.customer_code = s.customer_code 
        AND i.deliveried_quantity = s.deliveried_quantity)
    WHERE (inD.csc_euro IS NULL 
        OR inD.prg_euro IS NULL
        OR inD.prs_ssa_euro IS NULL)
    WHEN MATCHED THEN UPDATE inD.prs_ssa_euro = f.prs_ssa, inD.csc_euro = f.csc, inD.prg_euro = f.prg;
    j'ai encore un message d'erreur (j'espère que ça va bientot s'arrêter)
    ORA-00905: mot-clé absent
    J'essaye de faire le comparatif avec la doc oracle pour voir ce qu'il pourrait manquer mais je vois pas...


    Edit : ce serait le Where dans le Using mais est-ce que le join peut le remplacer ?
    Edit 2 : en rajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    WHERE (i.csc_euro IS NULL 
            OR i.prg_euro IS NULL
            OR i.prs_ssa_euro IS NULL)
    avant le join, j'ai de nouveau le message concernant la parenthèse de droite...

    Edit 3 : merci, mais même en rajoutant le SET j'obtiens le même message d'erreur.
    ORA-00905: mot-clé absent

  9. #29
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Tu as oublié le SET après UPDATE

    ~ Lola ~

  10. #30
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Tu peux mettre le WHERE à l'intérieur du USING je pense

    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
     
    MERGE INTO invoice inD
    USING (                            
        SELECT i.product_code, i.invoice_code, i.customer_code, i.deliveried_quantity, 
        --prendre une seule valeur de f.prs_ssa, en ne gardant (KEEP) que le dernier (LAST) des enregistrements rangés (ORDER BY) sans trou lié aux ex-eaquo (DENSE_RANK) par invoice_date.
        max(f.prs_ssa) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prs_ssa, 
        max(f.csc) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) csc, 
        max(f.prg) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prg       
        FROM invoice i 
          JOIN factures f 
                ON (i.customer_code = f.code_client 
                AND i.invoice_code = f.numero_facture 
                AND i.product_code = f.code_article
                AND i.deliveried_quantity = f.quantite
                AND i.invoice_date > f.date_facture)
        WHERE (i.csc_euro IS NULL 
            OR i.prg_euro IS NULL
            OR i.prs_ssa_euro IS NULL)            
        GROUP BY i.product_code, i.invoice_code, i.deliveried_quantity, i.customer_code    
           ) s
    ON (i.product_code = s.product_code 
        AND i.invoice_code = s.invoice_code 
        AND i.customer_code = s.customer_code 
        AND i.deliveried_quantity = s.deliveried_quantity)
    WHEN MATCHED THEN UPDATE SET inD.prs_ssa_euro = f.prs_ssa, inD.csc_euro = f.csc, inD.prg_euro = f.prg;

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  11. #31
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Ouaip, c'est exactement ce que j'avais fait.
    Par contre il me dit que certains champs n'existent pas... Faut que je vérifie bien avec les alias et tout.

    Je vous tiens au courant. Merci !


    Edit :
    Le script qui fonctionne :
    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
     
    MERGE INTO scn_sales_scp_dev.invoice inD
    USING (                            
        SELECT i.product_code, i.invoice_code, i.customer_code, i.DELIVERIED_QUANTITY, 
        --prendre une seule valeur de f.prs_ssa, en ne gardant (KEEP) que le dernier (LAST) des enregistrements rangés (ORDER BY) sans trou lié aux ex-eaquo (DENSE_RANK) par invoice_date.
        max(f.prs_ssa) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prs_ssa, 
        max(f.csc) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) csc, 
        max(f.prg) KEEP(DENSE_RANK LAST ORDER BY i.invoice_date) prg       
        FROM scn_sales_scp_dev.invoice i 
          JOIN infoc.scn_factures f 
                ON (i.customer_code = f.code_client 
                AND i.invoice_code = f.numero_facture 
                AND i.product_code = f.code_article
                AND i.DELIVERIED_QUANTITY = f.quantite
                AND i.invoice_date > f.date_facture)
          WHERE (i.csc_euro IS NULL 
                OR i.prg_euro IS NULL
                OR i.prs_ssa_euro IS NULL)
        GROUP BY i.product_code, i.invoice_code, i.DELIVERIED_QUANTITY, i.customer_code
           ) s
    ON (inD.product_code = s.product_code 
        AND inD.invoice_code = s.invoice_code 
        AND inD.customer_code = s.customer_code 
        AND inD.DELIVERIED_QUANTITY = s.deliveried_quantity)
    WHEN MATCHED THEN UPDATE SET inD.prs_ssa_euro = s.prs_ssa, inD.csc_euro = s.csc , inD.prg_euro = s.prg;
    ou pas, puisqu'il ne met rien à jour

  12. #32
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Mais t'exécutes avec quel outil ?

    Pour ce genre d'erreur, quand je lance avec Toad par exemple, il me sélectionne le mot clef où il vautre.
    Avec SQL*Plus, il t'affiche l'endroit avec une étoile.
    ...

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  13. #33
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    J'utilise également Toad mais il ne m'indique rien !
    Simplement un
    "Error at line 1
    ORA-XXXX ..."

    Il m'indique le noms des colonnes fausses mais pour les problèmes de mots-clés ou de parenthèses, je dois me débrouiller.

  14. #34
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Vous n'allez peut être pas me croire mais j'ai fait cette requête (par désespoir) :
    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
     
    UPDATE invoice invoiceD
        SET invoiceD.csc_euro = (SELECT DISTINCT factures.csc / FACTURES.QUANTITE * INVOICED.DELIVERIED_QUANTITY
        FROM factures
        WHERE invoiceD.customer_code = factures.code_client 
            AND invoiceD.invoice_code = factures.numero_facture 
            AND invoiceD.product_code = factures.code_article
            AND invoiceD.deliveried_quantity = factures.quantite
            AND (invoiceD.csc_euro IS NULL 
            OR invoiceD.prg_euro IS NULL
            OR invoiceD.prs_ssa_euro IS NULL)),
        invoiceD.prg_euro = (SELECT DISTINCT factures.prg / FACTURES.QUANTITE * INVOICED.DELIVERIED_QUANTITY
        FROM factures
        WHERE invoiceD.customer_code = factures.code_client 
            AND invoiceD.invoice_code = factures.numero_facture 
            AND invoiceD.product_code = factures.code_article
            AND invoiceD.deliveried_quantity = factures.quantite
            AND (invoiceD.csc_euro IS NULL 
            OR invoiceD.prg_euro IS NULL
            OR invoiceD.prs_ssa_euro IS NULL)),
        invoiceD.prs_ssa_euro = (SELECT DISTINCT factures.prs_ssa / FACTURES.QUANTITE * INVOICED.DELIVERIED_QUANTITY
        FROM factures
        WHERE invoiceD.customer_code = factures.code_client 
            AND invoiceD.invoice_code = factures.numero_facture 
            AND invoiceD.product_code = factures.code_article
            AND invoiceD.deliveried_quantity = factures.quantite
            AND (invoiceD.csc_euro IS NULL 
            OR invoiceD.prg_euro IS NULL
            OR invoiceD.prs_ssa_euro IS NULL))
        WHERE invoiceD.INVOICE_DATE < trunc(to_date(add_months(sysdate, -6)), 'MONTH')
            AND (invoiceD.csc_euro IS NULL 
            OR invoiceD.prg_euro IS NULL
            OR invoiceD.prs_ssa_euro IS NULL);
    et ça semble avoir fonctionné (il me semble que lola06 en avait parlé mais comme je pensais l'avoir déjà fait, j'ai refusé son idée, désolé).

    Merci à tous pour m'avoir guidé dans cette difficile expérience.

  15. #35
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Il ne faudrait pas mettre la table que tu update par hasard ?

    Ou c'est le MERGE qui la définie ?
    ~ Lola ~

  16. #36
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Points : 121
    Points
    121
    Par défaut
    Je suppose que c'est la table définie dans la clause merge into.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. récupérer valeur précédente
    Par dicyz dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 04/05/2012, 12h17
  2. Requête date max, date précédente et valeurs associées
    Par Nitromard dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/07/2011, 08h39
  3. Réponses: 1
    Dernier message: 24/04/2010, 18h36
  4. Récupérer le maximum d'une valeur par date
    Par Caro30 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/01/2007, 13h56
  5. Récupérer valeur précédente
    Par Hbenne dans le forum Access
    Réponses: 1
    Dernier message: 31/07/2006, 09h36

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