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 :

Comparaison de deux tables(suite)


Sujet :

SQL Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Par défaut Comparaison de deux tables(suite)
    Soit deux tables de format identique composée chacune de deux champs.

    Je souhaiterai comparer la table A avec la table B, s'il y a des différences
    dans les lignes je voudrais modifier la table B avec les valeurs de la table A

    Exemple:

    Table A
    123;50
    124;50
    125;45
    126;50

    Table B
    123;50
    124;45
    125;45
    126;55

    Je voudrais modifier la table B comme suit:

    Table B
    123;50
    124;50
    125;45
    126;50

    Merci pour votre aide!

  2. #2
    Scorpi0
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update B t1
    set col2 = nvl((select t2.col2 from A t2 where t1.ID = t2.ID), t1.col2)

  3. #3
    Expert confirmé 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
    Par défaut
    Regarde aussi MERGE.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 270
    Par défaut
    Citation Envoyé par Scorpi0 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update B t1
    set col2 = nvl((select t2.col2 from A t2 where t1.ID = t2.ID), t1.col2)
    nvl(select...) ça marche ça ?

  5. #5
    Scorpi0
    Invité(e)
    Par défaut
    Citation Envoyé par jmguiche Voir le message
    nvl(select...) ça marche ça ?
    J'avoue que j'étais peu sur de moi au moment ou je l'ai écris, donc je l'ai testé, et en effet, nvl(select...,...) ne marche pas, par contre nvl((select..),..) marche

  6. #6
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Mouais, c'est un peu brutal comme méthode...
    Là tu update toute la table à chaque fois.. pas bien !

    En plus ayant vu le poste précédent (c'est une suite), table A et table B sont sur 2 bases différentes (donc DBLINK)

    Roman, faut le dire, c'est important pour les solutions qu'on va te proposer.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    UPDATE tableB 
    SET b = (SELECT b FROM tableA@dblink WHERE a = tableB.a)
    WHERE (a, b) IN (
    			SELECT a, b
    			FROM tableB
    			MINUS
    			SELECT a, b
    			FROM tableA@dblink
    			);

Discussions similaires

  1. comparaison de deux table
    Par dylane.sof dans le forum SQL
    Réponses: 3
    Dernier message: 26/09/2007, 14h08
  2. Comparaison entre deux tables
    Par Bes74 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/08/2007, 20h04
  3. comparaison de deux tables sql
    Par lerab51 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/05/2007, 09h58
  4. Réponses: 14
    Dernier message: 04/12/2006, 11h22
  5. Comparaison de deux tables selon leur clé primaire
    Par tomy29 dans le forum Bases de données
    Réponses: 26
    Dernier message: 28/08/2006, 13h47

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