begin process at 2010 03 20 14:41:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive SQL

 > 

Archives

 > 

Problème avec une procédure stockée

 > 

Problème de table en mutation (Oracle)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de table en mutation (Oracle)

mardi 21 février 2006 à 10:39:06 | Problème de table en mutation (Oracle)

steppenwolf

Salut !

J'ai un problème sous Oracle lors de l'exécution d'une requête de mise à jour d'une table :

SQL> update emp set deptno=30 where ename='FORD';


Le problème vient du trigger suivant :

SQL> Create or replace trigger modif_affect_employe after update of Deptno on Emp

2for each row

3when (OLD.Deptno <> NEW.Deptno)

4DECLARE

5CURSOR C1 IS SELECT * FROM Dept;

6BEGIN

7FOR C1_enr IN C1 LOOP

8UPDATE Dept SET NbmetierDep=Departement(C1_enr.DEPTNO) WHERE DEPTNO=C1_enr.DEPTNO;

9END LOOP;

11END;

12/

L'erreur générée est la suivante :

ERROR at line 1:

ORA-04091: table M1MG11.EMP is mutating, trigger/function may not see it

ORA-06512: at "M1MG11.DEPARTEMENT", line 4

ORA-06512: at "M1MG11.MODIF_AFFECT_EMPLOYE", line 5

ORA-04088: error during execution of trigger 'M1MG11.MODIF_AFFECT_EMPLOYE'

Je pense que cette erreur est due au fait que le trigger accède à une table en cours de modification.
Comment faire pour résoudre ce problème ???

Merci d'avance.

Alex

vendredi 24 février 2006 à 11:13:53 | Re : Problème de table en mutation (Oracle)

steppenwolf

Réponse acceptée !

Alors j'ai trouvé la solution à mon problème :
il faut utiliser 2 triggers et une table temporaire afin de pouvoir faire l'update et ainsi virer le pb de table en mutation !!!




Cette discussion est classée dans : problème, table, trigger, c1, deptno


Répondre à ce message

Sujets en rapport avec ce message

Trigger [ par frop01 ] Salut,J'ai une table Categorie (Code_cat, Libelle) et une autre table sous_categorie (code_scat, code_cat, libelle)Je voudrais créer un déclencheur qu problème avec une table [ par lenneth666 ] Voila je vous explique mon problème.Dans une table appelé cour, la clé primaire cours_id est un entier qui s'incrémente automatiquement.Le problème c' Problème de requête à double jointure ... HELP ! [ par vladam ] Hello,Voici mon problème.J'ai une table "Table_3" avec 3 champsle premier ID numériquele deuxième ID2 numériquele troixième ID3 numériquej'ai une seco problème avec une table [ par norman bates ] Bonjour tout le monde j'ai un soucis voila j'ai fais mon site d'ecommerce sur mon pc en utilisant une base mysql et en php mais gros couac, le serve problème replication [ par overider ] bonjour a tous     j'ai un problème lors d'une réplication entre deux gros serveurs. une table ou on effectue  beucoup d'insert et delete se verole to Problème Requête SQL INSERT INTO sous access [ par bonnaud ] Bonjour,J'ai un problème avec une requête INSERT INTO.En fait je veux insérer dans une BDD des champs d'une autre table. Le problème qu'en j'insère ce renverser une table [ par nicole66 ] Bonjour,J'ai une table SQL qui contient des cours et des einseignants:Cours                           Enesei Problème trigger [ par mook5naz ] Bonjour a tous, je rencontre un problème pour récuperer un message d'erreur contenu dans le trigger. Je souhaite afficher le message dans un appli en Vider une table [ par Fildomen ] Salutj'ai une table ou ya une colonne id qui s'incremente auto avec 1, le problème c'est que je dois vider cette table, mais je vois que les nouvelles SQL Server & TRIGGER [ par kurky ] Bonjour, J'ai un problème sur ma base SQL Server. J'utilise une grosse base de données et il m'est impossible certaines fois de créer des relation


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,856 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales