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
voici mes tables
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;
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)
Partager