Bonjour à vous avec mon trigger je voudrais que l’insertion d’une nouvelle opération concerner calcule le nouveau solde du compte en se basant sur le montant de l’opération et je voudrais aussi laisser les traces pour chaque opération effectué par l employé voici un début de code
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
create or replace TRIGGER DECLANCHE
 
BEFORE UPDATE ON compte
FOR EACH ROW
 
DECLARE
mttop  operation.mtt_op%type;
 
BEGIN
SELECT mtt_op into mttop from OPERATION where num_op = num_op;
 
 
if mttop > 0 THEN
     UPDATE COMPTE set avoir_cpt = solde_cpt + (   SELECT  mtt_op   FROM    operation  )
WHERE num_cpt = :new.num_cpt  ;
else
UPDATE COMPTE set avoir_cpt = solde_cpt - (   SELECT  mtt_op   FROM    operation  )
WHERE num_cpt = :new.num_cpt ;
End if ;
 
 
EXCEPTION
		WHEN NO_DATA_FOUND THEN 
				    raise_application_error(-2001, 'numero de compte non valide non valide');
 
 
 
END;
voici mes tables
Agence (code_ag, nom_ag, ville_ag, #mat_emp) ;
Employe (mat_emp, nom_emp, date_embauche, numtel_emp, mt_salaire_emp, #code_ag, #code_ag_dir)
Client (code_cli, nom_cli, numtel_cli)
Operation (num_op, lib_op, date_op, mtt_op, #mat_emp)
Compte ( num_cpt, nature_cpt, solde_cpt, avoir_cpt, #code_ag, #mat_emp)
Concerner (#num_op, #num_cpt, sens)