Salut,
je b'ai besoin d'aide avec un trigger qui utilise SUM :
Je précise que je n'ai besoin que du premier IF (If @Nb_Pal > 33), mais que j'ai rajouté les 2 autres pour tester la valeur de @Nb_Pal. Et le problème c'est qu'elle est tjrs à NULL...Alors que je controle les valeurs, et elles sont >0...
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
30
31
32
33
34
35
36
37 CREATE TRIGGER MAJ_T_ReservationFlag33 ON T_Reservation AFTER INSERT AS DECLARE @TestEXPE as char(1) DECLARE @Nb_Pal as int SELECT @TestEXPE = left(inserted.Re_NumResa,1) From inserted if @TestEXPE <> 'E' BEGIN SELECT @Nb_Pal = SUM(Re_Nombre) FROM T_Resa_Palettes JOIN inserted on T_Resa_Palettes.Re_NumResa = inserted.Re_NumResa where T_Resa_Palettes.Re_NumResa = inserted.Re_NumResa If @Nb_Pal > 33 BEGIN Update T_Reservation SET T_Reservation.Re_Comment = 'ok1' FROM T_Reservation Inner join inserted ON (T_Reservation.Re_NumResa = inserted.Re_NumResa) WHERE T_Reservation.Re_NumResa = inserted.Re_NumResa END If @Nb_Pal < 33 BEGIN Update T_Reservation SET T_Reservation.Re_Comment = 'ok2' FROM T_Reservation Inner join inserted ON (T_Reservation.Re_NumResa = inserted.Re_NumResa) WHERE T_Reservation.Re_NumResa = inserted.Re_NumResa END If @Nb_Pal is null BEGIN Update T_Reservation SET T_Reservation.Re_Comment = 'ok3' FROM T_Reservation Inner join inserted ON (T_Reservation.Re_NumResa = inserted.Re_NumResa) WHERE T_Reservation.Re_NumResa = inserted.Re_NumResa END END
Le problème est donc au niveau de l'affectation de la valeur SUM(Re_Nombre) à la variable @Nb_Pal .
Pour précision, voici les 2 tables utilisées ici (non détaillées) :
T_Reservation
- Id
-Re_NumResa
T_Resa_Palettes
-Id
-Re_Nombre
-Re_NumResa
Et j'ai besoin du SUM car quand je fait 1 INSERT dans T_Reservation, je peux avoir 1 ou +sieurs enreg. correspondant dans la table T_Resa_Palettes
Exemple :
T_Reservation
- Id : 2
-Re_NumResa : R12345
T_Resa_Palettes
-Id : 3
-Re_Nombre : 10
-Re_NumResa : R12345
-Id : 4
-Re_Nombre : 20
-Re_NumResa : R12345
Et je précise qu'il ne me crée aucun problème quand j'execute mon CREATE TRIGGER...Donc aucun pb de "syntaxe", c'est juste qu'il ne me renvoie pas le SUM....
Merci d'avance.![]()
Partager