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

Langage SQL Discussion :

Update Requete Oracle


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Update Requete Oracle
    Bonjour !!

    -----------------------------
    | CUR | NOM | CUR_NOUVEAU |
    -----------------------------
    | CUR1 | NOM1 | |
    | CUR2 | NOM1 | |
    | CUR3 | NOM1 | CUR_NEW_3 |
    | CUR4 | NOM1 | CUR_NEW_4 |
    -----------------------------

    Comment faire un update pour obtenir les données ci dessous :

    -----------------------------
    | CUR | NOM | CUR_NOUVEAU |
    -----------------------------
    | CUR1 | NOM1 | CUR_NEW_3 |
    | CUR2 | NOM1 | CUR_NEW_4 |
    | CUR3 | NOM1 | CUR_NEW_3 |
    | CUR4 | NOM1 | CUR_NEW_4 |
    -----------------------------

    La difficulté est la suivante
    Comment faire un update en fonction du nom ..?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE table t1 SET CUR =
    SELECT CUR_NOUVEAU
    FROM table t2 WHERE 
    t1.nom = t2.nom
    Il ne faut pas que la ligne CUR2 est un CUR_NOUVEAU=CUR_NEW_4.

    Merci pour vos réponses !

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Quelques incohérences dans votre message...
    D'abord vous dites :
    Comment faire un update pour obtenir les données ci dessous :

    -----------------------------
    | CUR | NOM | CUR_NOUVEAU |
    -----------------------------
    | CUR1 | NOM1 | CUR_NEW_3 |
    | CUR2 | NOM1 | CUR_NEW_4 |
    | CUR3 | NOM1 | CUR_NEW_3 |
    | CUR4 | NOM1 | CUR_NEW_4 |
    -----------------------------
    Ensuite vous dites :
    Il ne faut pas que la ligne CUR2 ait [strike]est[/strike] un CUR_NOUVEAU=CUR_NEW_4.
    Ensuite, votre requête ne met pas à jour la colonne CUR_NOUVEAU comme le laisse supposer le résultat attendu mais la colonne CUR !

    Bref, il va falloir nous expliquer ça d'une autre façon si vous voulez une réponse.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En effet, merci d'avoir relevé les deux erreurs.

    La requête doit bien updaté la colonne CUR_NOUVEAU et non CUR :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE TABLE t1 SET CUR_NOUVEAU =
    SELECT CUR_NOUVEAU
    FROM TABLE t2 WHERE 
    t1.nom = t2.nom
    C'est effectivement faux :
    Il ne faut pas que la ligne CUR2 ait [strike]est[/strike] un CUR_NOUVEAU=CUR_NEW_4.
    Il ne faut pas que la ligne CUR2 ait un CUR_NOUVEAU=CUR_NEW_3.
    !

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Le problème, c'est que dans ton exemple de données, toutes les lignes ont pour valeur NOM1 dans la colonne NOM.
    Qu'est-ce qui justifie alors que CUR1 doive avoir CUR_NEW_3 et que CUR2 doive avoir CUR_NEW_4 ?

    Le besoin exprimé manque encore de précision !

Discussions similaires

  1. requete oracle
    Par z.e.k dans le forum Oracle
    Réponses: 7
    Dernier message: 16/03/2006, 09h40
  2. transformation d'une requete oracle en mysql
    Par isa21493 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/03/2006, 16h00
  3. [REQUETE ORACLE] Vols avec ou sans escales
    Par e-lifestyle dans le forum Oracle
    Réponses: 7
    Dernier message: 06/01/2006, 22h46
  4. UPDATE TABLE ORACLE
    Par Poisson59 dans le forum Oracle
    Réponses: 10
    Dernier message: 30/11/2005, 15h24
  5. [sgbd]Optimisation des requetes Oracle/Perl
    Par linou dans le forum SGBD
    Réponses: 7
    Dernier message: 30/06/2005, 18h09

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