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

PL/SQL Oracle Discussion :

trigger avec condition


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut trigger avec condition
    salut,

    j'ai un trigger qui fait se declenche apres un update sur une table;
    le truc c 'est que j'ai 3 champs et ce que je voudrais , c'est que si il y a un update sur un des 3 champs je ramene les deux autres.
    ex de matable.
    A B C
    1 2 3

    udpate
    A B C
    1 5 3

    ce que je souhaiterai c est comme il y a eu un update sur le champs b
    que mon trigger me ramene les 2 autres champs,et que je les inseres dans une autre tables.

    voila si A bouge je ramene B et C
    si C bouge je ramene A et B
    et si A bouge je ramene B et C

    merci de votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    Le trigger ne peut pas "ramener" des valeur mais il est possible d'utiliser le trigger pour insérer les valeurs souhaitées dans les bonnes tables. Ceci peut se faire en utilsiant des triggers 'for each row"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut
    soit tu fais un trigger after update général qui test quelle valeur a changé et déclenche un insert pour les 2 autres.
    ex :
    create trigger MonTrigger after update on MaTable for each row
    begin
    if (:new.A <> :old.A) then
    insert into autretable (B, C) values :new.B, :new.C;
    end if;
    if (:new.B <> :old.B) then
    insert into autretable (A, C) values :new.A, :new.C;
    end if;
    if (:new.C <> :old.C) then
    insert into autretable (A, B) values :new.A, :new.B;
    end if;
    end;

    ou, créer un trigger pour chaque champ :
    ex pour le champ A :
    create trigger MonTriggerA after update of A on MaTable for each row
    begin
    insert into autretable (B, C) values :new.B, :new.C;
    end;

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Par défaut
    avec un decode c'est possible ?

Discussions similaires

  1. Insertion avec condition trigger
    Par Nikko42 dans le forum Développement
    Réponses: 1
    Dernier message: 14/12/2012, 09h19
  2. Réponses: 2
    Dernier message: 11/08/2012, 10h28
  3. [MySQL]Trigger avec condition utilisant la date du jour
    Par Irish dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/12/2006, 22h17
  4. Index avec conditions
    Par marhnix dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/03/2004, 10h48
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 11h48

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