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 :

Création d'un trigger pour la comparaison et la MAJ en même temps


Sujet :

Développement SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2015
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Création d'un trigger pour la comparaison et la MAJ en même temps
    Bonjour j'ai quatre tables avec les mêmes champs;
    table 1 : Table "Nouveau stock"
    Table 2 : Table "stock"
    Table 3 : Table du nouvel article pour la mise à jour
    Table 4 : Table pour les articles qui sortent du stock.
    Je veux créer un Trigger à déclencher automatiquement pour faire la comparaison entre les deux premières tables et insérer la différence entre les deux selon des conditions dans les deux autres table (voir le schéma explicatif ci-joint pour bien comprendre mon besoin.

    Merci pour vos réponse
    Images attachées Images attachées  

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Quelle est la table que vous allez modifier ? A priori celle des nouveaux stock, mais il faudrait que vous nous le confirmiez.
    Y-a-t'il des INSERT seulement, ou aussi des UPDATE et des DELETE ?

    Qu'avez-vous écrit jusqu'ici ? Où êtes vous bloqué ?

    @++

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2015
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Merci pour votre Réponse

    Je veux comparer la Table1 avec la table 2 et j’infecte le résultat à la table 3 ou table 4 selon ces conditions suivantes :
    • Si la quantité de l’article de la table1 < à la quantité de l’article de la table 2
     Alors insérer la ligne de l’article de la table 1 à la table 3 avec une quantité T2.quantité-T1.quantité et si l’article existé dans le table 3 faire la somme des quantités ((T2.quantité-T1.quantité) +T3.quantité).
    • Si la quantité de l’article de la table1> à la quantité de l’article de la table2
     Alors insérer la ligne de l’article de la table 1 à la table 4 avec une quantité T1.quantité-T2.quantité et si l’article existé dans le table 4 faire la somme des quantités ((T1.quantité-T2.quantité) +T4.quantité).
    • Si la quantité de l’article de la table 1 et table 2 sont égales alors rien fait
    • Si l’article n’existe pas dans la table 1
     Ajouter dans la table 3 et faire la somme l’article aussi existe
    • Si l’article n’existe pas dans la table 2
     Ajouter dans la table 4 et faire la somme l’article aussi existe

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Dans ce cas ce n'est pas un trigger dont vous avez besoin, mais d'une procédure stockée.

    Un trigger s'exécute sur l'insertion, la suppression ou la modification de lignes dans une table.
    Une procédure stockée peut être appelée à la demande, par vous ou par une application.

    Est-ce bien ce que vous voulez faire ?

    @++

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2015
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    je veux déclencher l'action automatiquement chaque periode prédéfinie .

    tu peux me idée comment faire SVP
    Merci

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Oui : il faut créer un job de l'Agent SQL Server.
    Vous pouvez planifier l'exécution de la procédure stockée comme bon vous semble.
    La documentation est assez bien faite : regardez la section dénommée Utilisation de SQL Server Management Studio.
    Vous pouvez vous arrêter à l'étape 6. Un job peut avoir plusieurs étapes et plusieurs planifications.

    Vous pouvez aussi vous en remettre au livre que j'ai co-écrit avec SQLPro, David Barbarin et Christian Soutou, et qui est référencé dans ma signature : tout y est détaillé sur l'Agent, et en fait sur l'ensemble du produit SQL Server.
    Le livre est sur SQL Server 2014, mais dans le cas de l'Agent, je crois qu'il n'a pas changé depuis au moins SQL Server 2005. Ceci confirme qu'il fait bien ce qu'on lui demande

    @++

Discussions similaires

  1. Création d'un trigger pour l'insertion et la MAJ à la fois
    Par haylox dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 21/01/2013, 22h02
  2. trigger pour modifier une valeur après création du record
    Par awalter1 dans le forum Administration
    Réponses: 5
    Dernier message: 07/03/2011, 18h41
  3. comparaison sur 2 champs en même temps
    Par vanes83 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 11/03/2008, 17h14
  4. Réponses: 6
    Dernier message: 25/08/2007, 12h13
  5. [Oracle] Aide pour la création d'un trigger
    Par Sonic dans le forum Administration
    Réponses: 14
    Dernier message: 04/11/2004, 19h54

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