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

Langage SQL Discussion :

TRIGGER à faire


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut TRIGGER à faire
    Bonjour, j'ai un trigger à intégrer à une base de donnée MS SQL Server.

    Ce n'est pas moi qui fait ce genre d'opérations, mais la personne en question est indisponible 15 jours.

    Du coup, si quelqu'un pouvait m'aider.


    Voilà la demande :

    Le trigger à créer doit se déclencher sur une table CONTRAT pour tout INSERT ou UPDATE en calculant :

    CONTRAT.champX= Somme(plusieurs champs de la table CONTRAT)


    Pour l'instant, j'ai ça (Mis à jour au fur et à mesure):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TRIGGER TG_SOLDE ON CONTRAT 
    AFTER INSERT AS 
    BEGIN 
    	UPDATE CONTRAT 
    		SET CNT_SOLDE = Cnt_1 + cnt_2 + cnt_3; 
    END;
    Cela semble bon, mais j'aimerais faire la même chose sur l'update, dois-je créer un autre trigger ou puis mettre à jour celui là ?
    Si oui, comment ,je sèche grave.
    J'ai le deuxième trigger pour mise à jour suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TRIGGER TG_MAJ_SOLDE ON CONTRAT 
    AFTER UPDATE AS 
    	IF (UPDATE(CNT_1) or UPDATE(CNT_2) or UPDATE(CNT_3))
    	BEGIN
               UPDATE CONTRAT 
    		SET CNT_SOLDE = Cnt_1 + cnt_2 + cnt_3; 
            END;
    D'avance merci pour votre réponse

  2. #2
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    La syntaxe, c'est pas vraiment ça. Dans la doc de quel SGBD l'as-tu trouvée ?

    Un peu d'aide pour la création de triggers en SQL Server :
    http://sqlpro.developpez.com/cours/s...nsactsql/#L5.4

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut
    Je cherche juste sur Internet.
    Je fait surtout des select simples, des updates, alter table, etc.. de base.

    J'ai mis à jour la syntaxe avec go et enlever les ";"
    Je cherche en parallèle sur internet.

  4. #4
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Tu peux aussi réaliser ce que tu veux avec une colonne calculée au lieu d'un trigger. Regarde calculated column dans l'aide. Si tu as des problèmes avec la syntaxe, reposte, on corrigera.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut
    Citation Envoyé par rudib
    Tu peux aussi réaliser ce que tu veux avec une colonne calculée au lieu d'un trigger. Regarde calculated column dans l'aide. Si tu as des problèmes avec la syntaxe, reposte, on corrigera.
    En fait, je dois en faire plusieurs de triggers. Donc d'une manière ou d'une autre, je dois m'y mettre.

    J'ai mis à jour le code.

    Sinon, le lien que tu m'as mis, c'est bien pour MS SQL Server ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Par défaut
    Désolé pour ces questions à deux balles, mais l'aide, c'est où ?
    Je voulais regarder pour calculated column.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/11/2013, 14h20
  2. [trigger] Comment faire?
    Par critok dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 12/06/2006, 09h21
  3. Réponses: 2
    Dernier message: 01/03/2006, 15h16
  4. Trigger pour faire une table "mirroir"
    Par lgomez dans le forum Oracle
    Réponses: 8
    Dernier message: 26/10/2005, 13h12
  5. Comment faire un Cron ou Trigger
    Par dorian53 dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 29/08/2005, 11h39

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