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

Oracle Discussion :

update simple avec jointure


Sujet :

Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 87
    Par défaut update simple avec jointure
    bonjour,

    J'essaie de faire un update tout simple avec oracle 10 mais je galère.


    j'ai 2 tables avec les mêmes champs.

    NOM | PRENOM | ADRESSE

    je veux mettre à jour l'adresse qui est obsolete dans la table 1 mais correcte dans la table 2

    il faut biensur mettre la bonne adresse à la bonne personne.

    ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    update table1
    set adresse = table2.adresse
    from table1, table2
    where table1.nom=table2.nom
    and table1.prenom = table2.prenom
    et ça ne marche pas. il me dit qu'il y a une erreur de syntax (apparement il n'aime pas trop le from.

    comment faire ???

    Merci de votre aide

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE table1 t1
       SET t1.adresse = (SELECT t2.adresse
                        FROM table2 t2
                       WHERE t1.nom = t2.nom AND t1.prenom = t2.prenom)

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Par défaut
    Salut,
    Petite modification de la requete de salim, pour eviter une mise a jour au cas ou le match n'existerait pas (necessaire suivant le context...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    UPDATE table1 t1
    SET t1.adresse = (
      SELECT t2.adresse
      FROM table2 t2
      WHERE t1.nom = t2.nom AND t1.prenom = t2.prenom)
    WHERE EXISTS (
      SELECT 1 
      FROM tables2 t3 
      WHERE t1.nom = t3.nom AND t1.prenom = t3.prenom)

Discussions similaires

  1. [UPDATE] avec jointure sur une requete
    Par userB dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/07/2007, 16h18
  2. Requete update avec jointure d'une requête
    Par bart64 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 28/05/2007, 20h31
  3. UPDATE multiple avec jointure
    Par PyRoFlo dans le forum Requêtes
    Réponses: 6
    Dernier message: 25/05/2006, 15h56
  4. Update dans SYBASE avec jointure sur 2 colonnes
    Par metheorn dans le forum Sybase
    Réponses: 2
    Dernier message: 24/06/2005, 16h51
  5. [PL/SQL] update avec jointure
    Par Fox_magic dans le forum Oracle
    Réponses: 6
    Dernier message: 09/12/2004, 12h19

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