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éclencheur sur insertion


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 8
    Par défaut Création déclencheur sur insertion
    Bonjour,
    je cherche a créer un déclencheur sur une base de données qui s’exécute a chaque insertion de ligne et qui fait un update sur un champs selon des conditions.
    Table : MVTL
    Après chaque insertion de ligne, vérifier la condition
    Champ à modifier : DÉPÔT
    Condition : WHERE DOS=1 AND PICOD=2 AND TICOD='I' AND SREF1='STD' AND DEPO='DC'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    CREATE OR REPLACE TRIGGER DEPOOF
    AFTER INSERT ON MVTL
    -- AFTER INSERT
    FOR EACH ROW
    AS
     
        UPDATE MVTL 
        SET DEPO = 'DP'
        WHERE EXISTS
            (    
                SELECT * FROM MVTL 
                WHERE DOS=1 AND PICOD=2 AND TICOD='I' AND SREF1='STD' AND DEPO='DC'
            )
     
    GO
    Merci.

  2. #2
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 218
    Billets dans le blog
    16
    Par défaut
    Bonsoir hammouda311283,


    Quel est votre SGBD ? Quelle est la structure de la table MVTL ?

  3. #3
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 218
    Billets dans le blog
    16
    Par défaut
    Avec MySQL, on peut réaliser l’opération, mais avec un trigger BEFORE :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TRIGGER DEPOOB BEFORE INSERT ON MVTL
    FOR EACH ROW 
    BEGIN
        IF NEW.DOS = 1 AND NEW.PICOD = 2 AND NEW.TICOD = 'I' AND NEW.SREF 1= 'STD' AND NEW.DEPO = 'DC' THEN
            SET NEW.DEPO = 'DP' ;
         END IF ;	
    END ;                  
     
    GO

    Si votre SGBD est autre ou si ma réponse ne vous convient pas (utilisation de BEFORE au lieu de AFTER), le mieux est que vous postiez dans le forum qui concerne votre SGBD.

    Bonne chance

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 8
    Par défaut SGBD
    Bonjour,
    mon SGBD est SQL Server 2008

  5. #5
    Membre émérite Avatar de GeekMokona
    Femme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Novembre 2011
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2011
    Messages : 327
    Par défaut
    Bonjour hammouda311283,

    pourquoi un triger votre colonne depot m'as tous l'aire d'une colonne calculée ???

    Qu'elle sont les autres valeurs possible et sont-elle conditionné par une combinaison d'autre colonne ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 8
    Par défaut triger
    salut,
    la colonne dépôt n'est pas calculer.
    pourquoi un triger?
    parce que l'insertion dans la table mvtl est automatique depuis l'ERP, la colonne DEPOT doit contenir soit DC soit DP et selon la condition de je doit changer le DEPOT de DP vers DC et sa doit être automatique.
    merci

Discussions similaires

  1. Création Trigger sur INSERTION
    Par tibblou dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2008, 11h13
  2. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 10h41
  3. Réponses: 10
    Dernier message: 24/02/2005, 14h57
  4. événement sur INSERT, DELETE, UPDATE
    Par papouAlain dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/12/2004, 15h40
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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