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 :

Utilisation des Triggers


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut Utilisation des Triggers
    Bonjour tous,
    Je m’essaye dans la réalisation de triggers. J’ai 3 tables :
    Mouvements
    Articles
    Solde_article

    Je voudrais mettre des déclencheurs (triggers) pour exécuter les événements d’ajout dans la table SoldeArticle, enregistrer le dernier PU et calculer le PMP de l’article concerné dans la table des articles. Je voudrais également contrôler le cas ou le stock est nul ou négatif mais je ne sais pas encore le faire. Je sollicite votre aide.

    Cordialement.


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    SET ANSI_NULLS ON
    SET QUOTED_IDENTIFIER ON
    GO
     
    ALTER TRIGGER[SOLDE_AJOUT]
    ON  [dbo].[MOUVEMENTS] 
     
    FOR INSERT
    AS 
     
    DECLARE @l char(5), @i char(15),@q numeric(18,5),@p numeric(18,5),
    @pm numeric(18,5),@lp numeric(18,5),@s numeric(18,5)
     
    BEGIN
     
    SELECT @l=INSERTED.LOCATION,@i=INSERTED.ITEM_CODE,
    @q=INSERTED.QUANTITY,@p=INSERTED.LAT_VALUE FROM INSERTED
    SELECT @s=dbo.SoldeArticle.PHYSICAL FROM dbo.SoldeArticle 
    WHERE 
    dbo. dbo.SoldeArticle.LOCATION=@l AND dbo.SoldeArticle.ITEM_CODE=@i
    SELECT @pm=dbo.Articles.AVE_COST FROM dbo. Articles 
    WHERE dbo. Articles.ITEM_CODE=@i
     
    UPDATE dbo. SoldeArticle SET dbo. SoldeArticle.PHYSICAL = dbo. SoldeArticle.PHYSICAL + @q WHERE dbo. SoldeArticle.LOCATION=@l AND  dbo. SoldeArticle.ITEM_CODE=@i
    UPDATE dbo. Articles SET LAT_COST=@p,AVE_COST= ((@q*@p + @s*@pm)/(@q +@s))WHERE dbo. Articles.ITEM_CODE=@i
     
    END

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Par défaut
    Qu'est-ce que vous arrivez à faire et qu'est-ce que vous n'arrivez pas faire ?
    Reposez votre question en termes clairs (PMP my ride?) et en mettant l'accent sur l'élément qui vous pose problème.

  3. #3
    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
    Citation Envoyé par Sergejack Voir le message
    Reposez votre question en termes clairs (PMP my ride?) et en mettant l'accent sur l'élément qui vous pose problème.
    ... et en indiquant la structure complète de vos tables : j'ai l'impression que votre modèle est mal conçu, et que des solutions beaucoup plus saines sont à envisager...

    Par ailleurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT @l=INSERTED.LOCATION,@i=INSERTED.ITEM_CODE,
    @q=INSERTED.QUANTITY,@p=INSERTED.LAT_VALUE FROM INSERTED
    Attention, Inserted peut contenir plusieurs lignes !

Discussions similaires

  1. Utilisation des triggers key-Fx
    Par fregolo52 dans le forum Forms
    Réponses: 2
    Dernier message: 21/10/2009, 09h02
  2. Réponses: 2
    Dernier message: 21/09/2009, 14h20
  3. Utilisation des triggers
    Par nounetmasque dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 24/08/2007, 10h06
  4. utilisation des triggers
    Par bouleboule dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 04/07/2005, 17h47
  5. Delphi5 (IBX) - Interbase6.0 + Utilisation des triggers
    Par _Marsu_ dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/04/2004, 18h02

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