Bonjour à tous, j'ai tenté de faire un trigger afin de créer un identifiant permanent :

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
 
CREATE OR REPLACE TRIGGER IPP_Creation 
AFTER INSERT on DMA
FOR EACH ROW
DECLARE
DCrea number;
Pat number;
BEGIN
SELECT EXTRACT(YEAR FROM Date_Creation) INTO Dcrea FROM DMA;
SELECT PatientID INTO Pat FROM DMA;
UPDATE Patient
SET IPP = CONCAT(Dcrea, IPPC.nextval)
WHERE Pat = Patient.ID;
END;
/
Cependant une erreur est apparu lorsque j'ai tenté d'insérer dans la table DMA

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
ORA-04091: la table VALENTIN.DMA est en mutation ; le déclencheur ou la fonction ne peut la voir
ORA-06512: à "VALENTIN.IPP_CREATION", ligne 5
ORA-04088: erreur lors d'exécution du déclencheur 'VALENTIN.IPP_CREATION'
J'ai beau cherché et je parviens pas à voir comment est-ce que je peu régler le problème .

Merci d'avance pour votre aide !