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 :

Problème sur un trigger


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 20
    Points : 17
    Points
    17
    Par défaut Problème sur un trigger
    Bonjour,

    Dans le cadre d'un TP j'ai écrit un trigger, mais il y a une erreur de syntaxe que je ne vois pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    CREATE TRIGGER erreur_ora
    AFTER INSERT on alert_log FOR EACH ROW
    vSender VARCHAR2(30):='admin@iutinfo.fr';
    vTo VARCHAR2(30):='test@gmail.com';
    vSubj VARCHAR2(50):='Message ORA- détécté';
    vMType VARCHAR2(30):='text/plain; charset=us-ascii';
    BEGIN
    IF new.LINE LIKE 'ORA-%' THEN
    INSERT INTO event_log (insert_date, status, error_message, line_error_id) VALUES (sysdate, 'non resolu', new.LINE, new.LINE_ID);
    utl_mail.send(vSender, vTo, NULL,NULL, vSubj, new.LINE, vMType, NULL);
    END IF
    COMMIT;
    END;
    L'erreur renvoyé par oracle est la suivante :

    ORA-04079: spécification de déclencheur erronée
    04079. 00000 - "invalid trigger specification"
    *Cause: The create TRIGGER statement is invalid.
    *Action: Check the statement for correct syntax.
    Voyez-vous une erreur quelque part ?

    Merci d'avance

    Anthonyplay

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    END IF;
    mais je ne sais pas si c'est la seule erreur de syntaxe.
    Par contre il est déconseillé de faire du non transactionel comme envoyer un mail depuis un trigger pour 2 raisons :
    1/ Un trigger before update ou delete peux être exécuté plusieurs fois :
    http://download.oracle.com/docs/cd/B...htm#sthref1169
    http://tkyte.blogspot.com/2005/08/pa...g-restart.html

    2/ Tu ne veux pas envoyer de mail si la transaction est rollbackée, une bonne méthode est d'utiliser un job :
    http://asktom.oracle.com/pls/apex/f?...:2391265038428
    http://asktom.oracle.com/pls/apex/f?...:7267435205059

    C'est peut être aller un peu loin pour un TP, mais pour ta culture professionelle ce sont de bons articles à lire.

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Je vois un bon petit packet d'erreurs de syntaxe + le Commit qui va planter car le trigger n'est pas dans une transaction autonome (PRAGMA AUTONOMOUS_TRANSACTION)

    Ces erreurs doivent être consignées dans la vue USER_ERRORS, vous devriez aller voir de ce coté là.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 20
    Points : 17
    Points
    17
    Par défaut
    Je vous remercie pour vos réponse !

Discussions similaires

  1. Problème sur un trigger d'insertion
    Par houda_dd dans le forum PL/SQL
    Réponses: 6
    Dernier message: 31/01/2012, 02h14
  2. Problème sur un trigger
    Par dnboa dans le forum PL/SQL
    Réponses: 7
    Dernier message: 21/11/2008, 16h22
  3. Probléme sur un trigger
    Par izghad_06 dans le forum PL/SQL
    Réponses: 8
    Dernier message: 10/06/2008, 11h46
  4. Problème sur les triggers
    Par loic20h28 dans le forum Langage SQL
    Réponses: 15
    Dernier message: 22/01/2008, 18h37
  5. Problème sur un Trigger
    Par Isa31 dans le forum Oracle
    Réponses: 35
    Dernier message: 28/10/2005, 09h48

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