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 :

[Oracle 8i] Problème Trigger-Table


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Par défaut [Oracle 8i] Problème Trigger-Table
    Bonjour,
    j'ai cette erreur qui survient :
    ORA-04091: table DB.I_ENTE is mutating, trigger/function may not see it
    ORA-06512: at "DB.TRG_I_ENTE_AIUDS", line 25
    ORA-04088: error during execution of trigger 'DB.TRG_I_ENTE_AIUDS'
    Elle se produit lorsque je fais un SELECT de la table dans le trigger de cette même table qui est mise à jour.
    Le select se fait sur un enregistrement indépendant de celui mis à jour.
    Le trigger peut être un before ou after update par exemple.
    Merci pour toutes vos suggestions et explications de mon erreur.

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Un élément de réponse :
    http://sgbd.developpez.com/oracle/ora-04091/

    Ton select est-il vraiment indispensable ? Ne peux-tu pas utiliser les variables :new ou :old ?

  3. #3
    Membre éprouvé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Par défaut
    Génial, merci beaucoup... (je suis un peu flemme... ).

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par plaineR
    Ton select est-il vraiment indispensable ?
    je dirais même plus, ton trigger est-il vraiment indispensable?

  5. #5
    Membre éprouvé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Par défaut
    C'est en fait pour faire un chainage de numéros, il y a la notion de n° précédent et suivant, de premier et dernier.
    Donc, lorsqu'on met à jour le chaînage, il faut mettre à jour toute la chaîne, du premier au dernier numéros.
    Encore merci.

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

Discussions similaires

  1. Problème trigger : table mutante
    Par coboy dans le forum PL/SQL
    Réponses: 0
    Dernier message: 12/12/2008, 11h08
  2. Problème syntaxe table champ et dblink-oracle 10g
    Par Armand59 dans le forum Oracle
    Réponses: 1
    Dernier message: 10/07/2007, 10h57
  3. Réponses: 2
    Dernier message: 14/05/2007, 10h45
  4. [Problème]Import table Oracle
    Par Isa31 dans le forum Access
    Réponses: 7
    Dernier message: 09/08/2006, 14h46
  5. Réponses: 4
    Dernier message: 30/10/2005, 09h13

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