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 :

Synchroniser des enregistrements [11g]


Sujet :

SQL Oracle

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut Synchroniser des enregistrements
    Bonjour,

    Je voudrais savoir s'il est possible de synchroniser des enregistrements de 2 tables, à l'aide de quelque chose comme merge.

    J'ai 1 table source et une table destination, ayant la même structure.
    Je voudrais faire la chose suivante :
    1) si un enregistrement de la source n'existe pas dans la destination => INSERT
    2) si un enregistrement existe dans les 2 tables => UPDATE
    3) si un enregistrement n'existe pas dans la source mais existe dans la destination => DELETE de la destination

    Avec un MERGE, je sais faire les 1) et 2)
    Mais y a-t-il un moyen d'intégrer le 3) dans une simple requête MERGE (ou autre)
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Question bête : a quoi cela sert-il ? S'il s'agit d'avoir une table en ligne et une table d'archivage, faudrait peut-être plus regarder du coté des triggers

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut
    C'est vrai que je n'ai pas voulu détailler pour ne pas avoir à écrire

    En fait la table source est une table de chargement dans laquelle sont faits des traitements.
    Et les modifications sont faites non pas sur la globalité mais pour un contexte particulier.
    C'est pour ça, que pour un contexte, il peut y avoir des ajouts, des modifs et des suppressions

  4. #4
    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
    Merge suivi d'un delete.

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Points : 130
    Points
    130
    Par défaut
    Merci mnitu
    C'est ce que je pensais faire
    Je me demandais s'il n'y avait pas mieux

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

Discussions similaires

  1. recup des enregistrement les plus récents.
    Par julien_guy dans le forum Langage SQL
    Réponses: 8
    Dernier message: 29/06/2004, 11h04
  2. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41
  3. Réponses: 7
    Dernier message: 21/04/2004, 17h16
  4. Réponses: 3
    Dernier message: 29/12/2003, 13h47
  5. Enlever tous les M&Mme des enregistrements
    Par marc olivier dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2003, 12h24

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