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 :

Erreurs sur un trigger qui fonctionne !


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 123
    Points : 53
    Points
    53
    Par défaut Erreurs sur un trigger qui fonctionne !
    Bonjour, j'ai créé un trigger pour ma base de données sur Oracle 10g XE, celui-ci s'est compilé sans erreur, le 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
    CREATE OR REPLACE
    TRIGGER TRG_INSERTFILM
    BEFORE INSERT ON FILM
    FOR EACH ROW
    DECLARE
    nbfilm INTEGER;
    doublefilm EXCEPTION;
    BEGIN
    SELECT COUNT(*) INTO nbfilm FROM FILM WHERE TITRE_FILM=:NEW.TITRE_FILM AND ANNEE=:NEW.ANNEE;
    IF nbfilm > 0 THEN 
      RAISE doublefilm;
    END IF;
    EXCEPTION
    WHEN doublefilm THEN
    raise_application_error(-20090, 'Erreur : un film avec ce titre et cette année existe déjà.');
    WHEN OTHERS THEN
    raise_application_error(-20080, 'Erreur d''insertion est survenue.');
    END;
    Celui-ci sert donc à empêcher l'INSERT d'un film portant le même titre et la même année d'un qui existe déjà. Bref, je fais un test avec mon application C# Winforms, l'erreur est bien générée et affichée dans un MessageBox mais j'en ai pas qu'1 mais 3 :

    ORA-20090: Erreur : un film avec ce titre et cette année existe déjà.
    ORA-06512: à "FLO.TRG_INSERTFILM", ligne 11
    ORA-04088: erreur lors d'exécution du déclencheur "FLO.TRG_INSERTFILM"

    La 1ère est de moi, ce qui semble vouloir dire que le trigger fonctionne... mais je ne comprends pas pourquoi il me sort ces 2 autres !
    Ligne 11 ? Ou est le probleme ?

    Help s'il vous plait !

  2. #2
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    La ligne 11 c'est ton RAISE , il te dit donc que l'erreur est jetée là ( normal c'est ce que tu fais ...)
    LA 3ieme ligne d'erreur te précise le nomde ton trigger.

    Il fonctionne bien , tu as juste plusieurs lignes d'erreur c'est normal, c'est "la pile" (désolé j'emploie le terme java)

    si l'erreur était jetée dans une sous-fonction du trigger tu aurais une ligne en plus pour te dire à quel moment de ta sous fonction c'etait, puis une linge lors de l'appel de ta sous fonction....
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 123
    Points : 53
    Points
    53
    Par défaut
    D'accord ! Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. sqlite3, message d'erreur sur une requête qui fonctionne
    Par stefh7 dans le forum Général Python
    Réponses: 13
    Dernier message: 25/02/2011, 13h48
  2. Eviter l'erreur sur un fichier qui n'existe pas
    Par Esmax666 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/07/2009, 15h10
  3. [MySQL] vos avis sur un script qui fonctionne pas
    Par younek dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/12/2008, 16h47
  4. Erreur sur un trigger
    Par mboubidi dans le forum PL/SQL
    Réponses: 14
    Dernier message: 12/11/2008, 14h58
  5. Erreurs sur un trigger BEFORE DELETE
    Par Daikyo dans le forum PL/SQL
    Réponses: 1
    Dernier message: 13/06/2008, 02h13

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