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] Probleme à l'insertion


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rukia
    Invité(e)
    Par défaut [Trigger] Probleme à l'insertion
    Bonjour
    j ai réalisé un trigger se déclenche au moment de l' insertion a une table (donnée) et il fais une opération d insertion a une autre table (donnée) en respectant une condition (donnée)
    sa marche très bien avec les table t4 et t5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE TABLE T4 (a INTEGER, b CHAR(10));
    CREATE TABLE T5 (c CHAR(10), d INTEGER);
    CREATE TRIGGER trigger
    AFTER INSERT ON T4
     REFERENCING NEW AS newRow
     FOR EACH ROW
    WHEN (newRow.a <= 10)
     BEGIN
       INSERT INTO T5 VALUES(:newRow.b, :newRow.a);
      END trig1;
    .
    run;
    Mais quand je fais se lui la ::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SQL> run;
      1  CREATE TRIGGER trig1
      2      AFTER INSERT ON dem_ins
      3      REFERENCING NEW AS newRow
      4      FOR EACH ROW
      5      WHEN (newRow.acc_ins='o')
      6      BEGIN
      7          INSERT INTO list_elec VALUES(0,:newRow.n_dmins  ,0);
      8*     END trig1;
     
    Trigger created.
    La création c est bon (trigger est crée)
    Mais au moment de l'insertion d'1 tuple a ma table dem_ins je trouve les problèmes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> INSERT INTO dem_ins VALUES(1,TO_DATE('03-01-2003','DD-MM-YYYY'),'ahmed','saya' ,TO_DATE('06-01-2003', 'DD-MM-YYYY'),'a','k','r','alger','rue1','o','',01);
    ERROR at line 1:
    ORA-04091: table ROS.DEM_INS is mutating, trigger/function may not see it
    ORA-06512: at "ROS.TRIG1", line 2
    ORA-04088: error during execution of trigger 'ROS.TRIG1'
    Dernière modification par Rukia ; 02/06/2007 à 08h19.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 126
    Par défaut
    Tu n'aurais pas un trigger sur ta 2éme table ?

    Sinon il y a un article sur les tables mutantes.

  3. #3
    Rukia
    Invité(e)
    Par défaut
    Bonjour
    J ai aucun trigger dans ma base de donnée c est le seul trigger
    Comment je peux résoudre le problème de la table ?
    merci pour la reponse

  4. #4
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 126
    Par défaut
    A voir

    http://209.85.135.104/search?q=cache...ient=firefox-a

    s'il n'y a que le trigger indiqué ça doit fonctionner.

    Pour être sûr un drop des tables et recréation ainsi que du trigger.

  5. #5
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Bonjour rukia,

    Pour voir tous tes triggers tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * from USER_TRIGGERS;
    D'autre part, tu n'aurais pas une clef primaire ou unique sur ta table list_elec et/ou une clef étrangère de la table list_elec vers dem_ins (sur la deuxième valeur particulièrement) ?

    [EDIT]Je pense d'ailleurs qu'une transaction serait peut-être plus adaptée dans ce cas.[/EDIT]

  6. #6
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Par défaut tables mutantes

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/07/2004, 00h27
  2. trigger suite a insert
    Par DaxTaz dans le forum Développement
    Réponses: 4
    Dernier message: 07/07/2004, 11h27
  3. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21
  4. probleme d'INSERT INTO et JavaScript
    Par Matlight dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/03/2004, 15h36
  5. probleme d'insertion d'un Float
    Par neness dans le forum Débuter
    Réponses: 3
    Dernier message: 07/01/2003, 12h32

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