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