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

SQL Procédural MySQL Discussion :

trigger insert et update


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Par défaut trigger insert et update
    Bonjour,

    je souhaiterais faire un trigger qui mette à jour une valeur dans le même table, à la même row.
    voici les règles :

    insert avec le champs visibleAcquereur à 0 > visibleFinal = 0
    insert avec le champs visibleAgenceà 1 > visibleFinal = 1
    update avec le champs visibleAcquereur à 1 > visibleFinal = 1
    update avec le champs visibleAgence à 0 > visibleFinal = 0


    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
    16
    17
    18
     
    ALTER TRIGGER TrigVisibiliteFinale
    ON dbo.VisibiliteBien
    FOR UPDATE /* Fire this trigger when a row is INSERTed or UPDATEd */
    AS
    BEGIN
    if update(visibleAcquereur)
    begin
    UPDATE VisibiliteBien SET dbo.VisibiliteBien.visibleFinal = 1
    FROM Updated
    WHERE Updated.visibleAcquereur=1 and Updated.visibleAgence=1
    end
    end
     
     
    -- rollback en cas d'erreur
    IF @@Error <> 0
    ROLLBACK TRANSACTION
    suis un peu perdue

    merci

    Nath

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 55
    Par défaut
    Hello

    Si vous souhaitez modifier le record en cours sur la table en cours, vous ne pouvez pas passer par un Update mais directement par du code incluant les préfixes New. ou Old.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If New.visibleAcquereur   > 0 then
       Set visibleFinal = 0 ;
    End If;
     
    Etc....
    Vous pouvez faire cee trigger avant ou après la mise jour du record suivant ce qu'il est nécessaire dans vos traitements.

    Est ce assez clair ?

Discussions similaires

  1. [MySQL-5.5] Trigger INSERT et UPDATE en même temps
    Par Toufik83 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 08/01/2015, 14h41
  2. Remplacer dans trigger INSERT par UPDATE si clé existe
    Par Christop33 dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/07/2011, 13h56
  3. Crée un trigger (INSERT/DELETE/UPDATE) paramètré
    Par Sergejack dans le forum Contribuez
    Réponses: 0
    Dernier message: 15/09/2009, 12h05
  4. [TRIGGER] INSERT OU UPDATE(maColonne)
    Par elsuket dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/05/2007, 10h11
  5. [trigger] insert update et delete
    Par kooljy dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 13/07/2006, 08h56

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