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

Vue hybride

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 123
    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 chevronné 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
    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....

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 123
    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