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


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 34
    Points : 19
    Points
    19
    Par défaut [Pl/SQL] trigger
    Bonjour ,

    je tente de faire un trigger qui reagit de la facon suivante :
    Des qu un enregistrement est ajouté à une table (WGEDSIG), il doit mettre a jour une autre table (USR0014). Mais, ces 2 tables n ont aucun lien, on doit passer par une table intermediaire (WGEDDOC).
    Voici le sql du trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE OR REPLACE TRIGGER "MSG"."SIGNATURE" AFTER INSERT
            ON "WGEDSIG"
            FOR EACH ROW Begin
                UPDATE USR0014 SET USR0014.SIGNATUR='01' WHERE USR0014.TBLLIA=(SELECT WGEDDOC.DOCLIA FROM WGEDDOC,WGEDSIG WHERE WGEDDOC.DOCNUM=:NEW.NUMDOC);
            End ;
    La compil est bonne mais ca ne reagit pas lorsque j ajoute un élément dans la table WGEDSIG.

    Quelqu'un peut il m'éclairer ne serait-ce qu au niveau de la syntaxe ?

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Bonjour ,

    Merci d'indiquer la version utiliser d'oracle.

    Vous avez certainement du avoir des erreurs de compilation. Il manque des choses .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select  object_name , status  from dba_objects  where object_type ='TRIGGER'

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 138
    Points : 166
    Points
    166
    Par défaut
    Tu ne peux pas faire un select sur la même table dans un trigger row level sur cette table. Tu dois avoir le problème de la table mutante.

    Un peu de recherche et tu trouveras : "table mutante", 1er résultat. De plus, Donne l'intégralité de ton code ainsi que l'erreur... Si tu n'as pas d'erreur, n'aurais-tu pas de when others sans raise???

Discussions similaires

  1. [Pl/Sql]trigger et vue
    Par gapse dans le forum Oracle
    Réponses: 15
    Dernier message: 03/08/2006, 09h56
  2. [pl/sql] Trigger et table mutante
    Par claralavraie dans le forum Oracle
    Réponses: 20
    Dernier message: 18/07/2006, 15h41
  3. [PL/SQL] trigger instead of sur une XMLTYPEVIEW
    Par lemfi dans le forum Oracle
    Réponses: 1
    Dernier message: 23/03/2006, 10h27
  4. [pl/sql]trigger predefini
    Par imedg dans le forum Oracle
    Réponses: 4
    Dernier message: 13/03/2006, 09h29
  5. [PL/SQL] Trigger qui appelle une procédure
    Par alex6891 dans le forum Oracle
    Réponses: 5
    Dernier message: 19/01/2006, 09h01

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