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 :

Mise à jour de table en fonction d'une autre [11g]


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 321
    Points : 109
    Points
    109
    Par défaut Mise à jour de table en fonction d'une autre
    Bonjour,

    J'essaye de mettre à jour une table principale à l'aide d'une autre table

    avec la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE table1 SET table1.champ =(SELECT table2.champupdate FROM table2 WHERE table1.id = table2.ID)
    malheureusement cette requête met bien a jour les identifiant qui trouve une correspondance entre les deux tables mais remplit <null> (donc efface la donnée) sur tt les autres lignes ??

    merci de votre aide.

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    C'est le comportement attendu! Sinon vous devez restreindre la mise à jour aux seuls enregistrements pour lesquels une correspondance existe.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    321
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 321
    Points : 109
    Points
    109
    Par défaut
    Re,


    ok ça c'est mieux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    UPDATE table1 SET table1.champ =<div style="margin-left:40px">(SELECT table2.champupdate 
    FROM table2 
    WHERE table1.id = table2.ID) 
    where exists (SELECT table2.champupdate 
                       FROM table2 
                       WHERE table1.id = table2.ID)</div>

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/03/2015, 23h16
  2. Mise à jour d'une table en fonction d'une autre
    Par lucy101 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/05/2010, 14h24
  3. [WD14] mise à jour d'un enregistrement à partir d'une autre table
    Par piogo113 dans le forum WinDev
    Réponses: 9
    Dernier message: 05/05/2010, 19h06
  4. Réponses: 1
    Dernier message: 10/04/2008, 16h53
  5. mise à jour de champs en fonction d'une liste déroulante
    Par kifouillou dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 09/04/2008, 16h37

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