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

SQL Oracle Discussion :

[TRIGGER] Erreur 06512/04088


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 235
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 235
    Par défaut [TRIGGER] Erreur 06512/04088
    Bonjour,

    je suis Oracle Express 10. Je m'initie au trigger. J'en ai donc fais un tout bete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create or replace trigger client
    before insert on CLIENT 
    for each row
    BEGIN
     insert into CLIENT (PRENOM) values ('TEST TRIGGER');
    END;
    mais lorsque j'essaie d'inser une donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into CLIENT (NOM) values ('TEST');
    J'obtiens l'erreur suivante :
    ORA-06512: at "SYSTEM.CLIENT", line 2
    ORA-04088: error during execution of trigger 'SYSTEM.CLIENT'
    ORA-06512: at "SYSTEM.CLIENT", line 2
    ORA-04088: error during execution of trigger 'SYSTEM.CLIENT'
    ORA-06512: at "SYSTEM.CLIENT", line 2
    ORA-04088: error during execution of trigger 'SYSTEM.CLIENT'
    ORA-06512: at "SYSTEM.CLIENT", line 2
    ORA-04088: error during execution of trigger 'SYSTEM.CLIENT'
    ORA-06512: at "SYSTEM.CLIENT", line 2
    ORA-04088: error during execution of trigger 'SYSTEM.CLIENT'
    ORA-06512: at "

    1./ D'une part, je ne comprends pas pourquoi j'ai autant de retour d'erreur alors que je ne fais qu'une seule insertion

    2./ D'autre part, je ne comprends pas du tout pourquoi j'ai ces erreurs ...


    J'ai vu que pour l'erreur : ORA-06512, ce n'etait pas reellement une erreur, on m'indique seulement qu'il faudrait que je créé une exeption si j'ai bien compris

    ORA-06512: at stringline string
    Cause: Backtrace message as the stack is unwound by unhandled exceptions.
    Action: Fix the problem causing the exception or write an exception handler for this condition. Or you may need to contact your application administrator or DBA.
    http://ora-06512.ora-code.com/

    Par contre pour l'erreur : ORA-04088

    ORA-04088: error during execution of trigger 'string.string'
    Cause: A runtime error occurred during execution of a trigger.
    Action: Check the triggers which were involved in the operation.
    http://ora-04088.ora-code.com/

    On me conseille uniquement de reverifier le trigger qui causerait cette erreur ...

    Lorsque j'execute d'insertion, les données ne sont pas insérée, ce qui veut dire qu'il y a bien une erreur mais pourquoi ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 20
    Par défaut
    Tu boucles puisque tu essaies d'insérer une donnée dans la même table qui est le support de ton trigger.

    En plus, je crois que tu ne peux pas travailler sur la table sur laquelle tu mets ton trigger.

  3. #3
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 235
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 235
    Par défaut
    Oki je comprends , je vais essayer demain matin au boulot de le faire sur une autre table dans ce cas ....

    merci beaucoup ...

    je te tiens au courant

  4. #4
    Membre expérimenté Avatar de Loyd1974
    Profil pro
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Par défaut
    Citation Envoyé par lcloatre Voir le message
    Tu boucles puisque tu essaies d'insérer une donnée dans la même table qui est le support de ton trigger.

    En plus, je crois que tu ne peux pas travailler sur la table sur laquelle tu mets ton trigger.
    Petite nuance, on ne peut pas travailler sur une autre ligne que celle en cours de traitement pour la même table.

    Par exemple, il est possible d'avoir un trigger mettant à jour une colonne LAST_ACTION_DATE (ou on l'appelle autrement si on veut ) pour mettre SYSDATE à chaque fois qu'un ordre est effectué

  5. #5
    Membre expérimenté
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Par défaut
    C'est un problème archi-connu ça... le problème de la "table mutante"... ou "mutating table" (je crois que c'est dans la FAQ)

  6. #6
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut

    STOP !!!! que ce soit à des fins de tests ou non, sur une base de test ou non, ON NE DOIT PAS CREER/MODIFIER/SUPPRIMER DES OBJETS DE SYSTEM ! (*)
    ORA-06512: at "SYSTEM.CLIENT", line 2
    ORA-04088: error during execution of trigger 'SYSTEM.CLIENT'



    (*) sauf cas exceptionnels demandés par le support ou scripts standards oracle

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

Discussions similaires

  1. [TRIGGER] erreur 1442 : le trigger se déclenche mais n'agit pas.
    Par elvan49 dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 14/12/2007, 11h47
  2. [Trigger] Erreur 1136 lors d'une insertion
    Par tyrant dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/05/2006, 21h41
  3. TRIGGER Erreur PLS-00357
    Par fuhraih dans le forum Oracle
    Réponses: 6
    Dernier message: 19/04/2006, 10h20
  4. [10g] Trigger erreur de compilation
    Par flasomm dans le forum Oracle
    Réponses: 2
    Dernier message: 03/01/2006, 03h07
  5. [Debug] [Trigger] erreur d'exe pas très précise
    Par viena dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/08/2005, 11h36

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