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

Oracle Discussion :

TRIGGER After Update


Sujet :

Oracle

  1. #1
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut TRIGGER After Update
    bonjour,

    j'ai crée un trigger After update sur une table A qui insère certains champs dans une autre table B.
    Je voudrais savoir s'il est possible de tester que si je modifie uniquement un champs spécifique id_prefac de la table A, ne trigger n'insere pas les données dans la table B ?

    Merci de votre aide

  2. #2
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    oui. Il suffit de le tester.

    Poste le code de ton trigger pour qu'on t'indique les modifs.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  3. #3
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    Voici
    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
     
    begin
     
    declare
      n_imei varchar2(20);
    begin
      select numimei into n_imei
      from sbedba.table_b
      where metier=:new.metier and sitegeo=:new.sitegeo and
      cptdossier=:new.cptdossier and numligne=:new.numligne;
    exception when no_data_found then
      insert into
      sbedba.table b(metier,sitegeo,cptdossier,numligne,numimei)
      values
      (:new.metier,:new.sitegeo,:new.cptdossier,:new.numligne,:new.numimeinew);
    end;
     
    end;

  4. #4
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    pardon, correction : tu as besoin de faire ça dans un trigger before insert en comparant toutes les valeurs de :old et :new. Et si une des valeurs autre que id_prefac change, alors insert dans B aussi.
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  5. #5
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    je me vois mal comparer un à un les 100 champs de ma table ...

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    comment veut tu savoir qu'il y a un champ et un seul qui change sinon

  7. #7
    Membre actif Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Points : 208
    Points
    208
    Par défaut
    d'où le sujet de mon post

  8. #8
    Membre émérite Avatar de nuke_y
    Profil pro
    Indépendant en analyse de données
    Inscrit en
    Mai 2004
    Messages
    2 076
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant en analyse de données

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 076
    Points : 2 370
    Points
    2 370
    Par défaut
    Tu peux toujours générer le code de ton test en faisant un De plus je te signale que 100 champs * 3 secondes (environ, pour écrire le code de comparaison) = 300 secondes = 5mn.

    Combien de temps pour réfléchir/écrire/tester une autre solution ?
    Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    de toute façon il n'y a pas d'autre solution je pense

Discussions similaires

  1. trigger after update question!
    Par touille dans le forum PL/SQL
    Réponses: 1
    Dernier message: 27/07/2009, 17h37
  2. Trigger After Update avec la table Deleted vide ?
    Par azur668 dans le forum Développement
    Réponses: 4
    Dernier message: 24/06/2009, 23h41
  3. Problème exécution trigger after update
    Par Fabien85 dans le forum Développement
    Réponses: 19
    Dernier message: 15/01/2009, 17h35
  4. Réponses: 5
    Dernier message: 15/06/2007, 16h05
  5. Trigger After Update
    Par hair_peace dans le forum Oracle
    Réponses: 8
    Dernier message: 23/08/2006, 21h10

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