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 :

Insert d'une table à une autre par un trigger


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut Insert d'une table à une autre par un trigger
    Bonjour!!!!!
    Le but de mon trigger est d'insérer certaines valeurs d'une ligne updaté dans une autre table. Pour l'instant, je suis capable d'insérer des valeurs dummy, mais je n'arrive pas à aller chercher les champs.

    Mon trigger (trgCrgAvail) se lance après l'update du champ QtyDispo de la table tblCrgAvail. Il devrait insérer le HID, RID et LaDate de tblCrgAvail dans tblAvailTrigger. NewValue et OldValue seront respectivement la valeur après et avant l'update de QtyDispo. Finalement, DateInserted sera la date présente.

    Mes questions sont :

    -Comment insérer la valeur des champs de tblCrgAvail?
    -Comment accéder à la valeur de QtyDispo avant l'update?

    Si vous avez la réponse à une ou plusieurs de ces questons, vous êtes les bienvenus à répondre

    Voici le code que j'ai présentement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ALTER TRIGGER [dbo].[trgCrgAvail] 
    ON [dbo].[tblCrgAvail]
    AFTER UPDATE 
    AS
    declare @datenow datetime
    set @datenow = getdate()
    if Update(QtyDispo)
    begin
    INSERT INTO tblAvailTrigger (HID, RID, LaDate, OldValue, NewValue, DateInserted) VALUES (1, 2, 'aaa', 5, 6, @datenow)
    end
    Merci de votre temps.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut
    Bonjour,

    les anciennes valeurs se trouvent dans la table "Deleted" et les nouvelles valeurs insérées se trouvent dans la table "Inserted"

    Donc par exemple si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT QtyDispo FROM Deleted
    Tu récupères la valeur juste avant l'update.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT QtyDispo FROM Inserted
    te donnera de la même manière la nouvelle valeur insérée à la place de l'ancienne

  3. #3
    Membre confirmé Avatar de roshy
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 107
    Par défaut
    C'est donc bien pratique ça!!!!!!!!!!

    Merci mille fois

    Et voilà, un tag Résolu pour ce sujet

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 15/06/2010, 17h59
  2. Réponses: 2
    Dernier message: 29/10/2008, 15h31
  3. [SQL] Insertion d'une table à une autre
    Par thoanny dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 25/02/2008, 00h27
  4. insertion d'une table à une autre
    Par lenoil dans le forum SQL
    Réponses: 2
    Dernier message: 03/09/2007, 17h07
  5. INSERT avec condition d'une table à une autre
    Par papipasto dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2006, 13h51

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