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 :

[Pl/Sql] Trigger INSTEAD OF et vue


Sujet :

Oracle

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Par défaut [Pl/Sql] Trigger INSTEAD OF et vue
    Bonjour,

    J'ai un gros problème avec le fonctionnement d'un trigger INSTEAD OF sur une vue.
    Il est censé modifier un enregistrement d'une table et biensur il modifie tous les enregistrements.
    La clause WHERE est parfaitement programmée pour n'affecter que l'enregistrement en question mais je ne comprend pas pourquoi il s'acharne à modifier les autres (qui sont belle et bien différent).
    Comprend pas....
    Pour une meilleure idée:
    CREATE OR REPLACE TRIGGER trg_ins_upd_.....
    INSTEAD OF INSERT OR UPDATE
    ON vue_name
    FOR EACH ROW
    BEGIN
    UPDATE une_table o
    SET o.champ1 = :NEW.champ1,
    o.champ2 = :NEW.champ2
    WHERE o.id= :OLD.id
    AND o.champ3 = :OLD.champ3
    AND o.champ4 = :OLD.champ4;
    END;

    Des idées ???

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Qui vous dit que le trigger n'est pas déclenché sur toutes les lignes de votre vue ?

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Par défaut
    Je crois que c'est bien là le pb....
    Moi de ce que j'en comprend ce trigger se déclenche qd on fait un update sur un enregistrement de la vue.
    Sauf que là, on dirait qu'il déclenche le trigger pour toutes les lignes.
    J'y comprend plus rien

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Il faudrait visiter le code SQL qui déclenche le trigger, soit les ordres INSERT et UPDATE appliqués sur la vue.

Discussions similaires

  1. [SQL SERVER 2k5]Trigger update instead of sur vue
    Par qlaimand dans le forum Développement
    Réponses: 0
    Dernier message: 18/06/2008, 17h06
  2. [SQL2K] Trigger "INSTEAD OF" et vue
    Par Faboul dans le forum Développement
    Réponses: 5
    Dernier message: 18/06/2008, 16h04
  3. [Pl/Sql]trigger et vue
    Par gapse dans le forum Oracle
    Réponses: 15
    Dernier message: 03/08/2006, 09h56
  4. [PL/SQL] trigger instead of sur une XMLTYPEVIEW
    Par lemfi dans le forum Oracle
    Réponses: 1
    Dernier message: 23/03/2006, 10h27
  5. [TADOTable] reconnaitre le trigger INSTEAD OF d'une vue...
    Par littledoudou dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/12/2003, 12h39

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