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

Développement SQL Server Discussion :

Update avec ajout de ligne [2014]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Par défaut Update avec ajout de ligne
    Bonjour à tous et à toutes,

    Je cherche actuellement à faire une update d'une table vers une autre. Le seul problème c'est qu'actuellement, j'aimerais que ma table mis à jour ajoute les lignes manquantes au fur et à mesure. (Je fais une suppression des données mensuelles-1 dans ma table référence). J'explique, pour le moment j'ai fais une copie de ma table référence et j'exécute cette requête pour faire la maj de ce jour même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE PRODTEST
    SET PRODTEST.PRODUCTION=PRODUCTION.PRODUCTION
    FROM PRODTEST
    LEFT JOIN PRODUCTION
    	on	(PRODTEST.DATE	= PRODUCTION.DATE)
    Or le 13-06-2015 ne sera pas présent dans ma table mis à jour, donc le JOIN ne sera fonctionnel et pour le coup ma mise à jour ne s'effectuera plus.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Pas sûr d'avoir bien compris ce que vous vouliez faire, mais vous pouvez je pense vous tourner vers la commande MERGE, qui permet de mettre à jour, insérer, ou supprimer dans une table cible à partir d'une table source.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Par défaut
    Merci pour votre réponse. Je souhaite mettre à jour une table à partir d'une autre. Le problème c'est que je n'ai pas, à un moment donné, la condition requise du join.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JOIN PRODUCTION
    	on	(PRODTEST.DATE	= PRODUCTION.DATE)
    Je n'aurais pas la date du jour+1 dans la table qui doit être mise à jour donc mon Join ne sera validé et donc pas d'update.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Par défaut
    Après tests, cette requête serait fonctionnel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    MERGE PRODTEST
    USING PRODUCTION
    ON PRODTEST.DATE = PRODUCTION.DATE
    WHEN NOT MATCHED BY TARGET THEN
      INSERT (DATE, PRODUCTION)
      VALUES (PRODUCTION.DATE, PRODUCTION.PRODUCTION);

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Oui, et vous pouvez lui ajouter la clause WHEN MATCHED pour faire votre UPDATE en même temps.

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

Discussions similaires

  1. [WD18] Tableau montants avec ajout de lignes
    Par Goose_ dans le forum WinDev
    Réponses: 12
    Dernier message: 15/11/2013, 09h32
  2. [Dojo] Ajouter une ligne ds dojox.Grid.datagrid
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 05/03/2010, 15h14
  3. MSFlexgrid avec ajout de lignes automatique
    Par hugoclo dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/10/2008, 20h52
  4. Requête INSERT ou UPDATE avec saut de ligne
    Par CinErarY dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/05/2007, 04h38
  5. Ajouter 1 ligne à un tableau avec rowspan & colspan
    Par softflower dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 22/11/2006, 22h35

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