Salut,
je b'ai besoin d'aide avec un trigger qui utilise SUM :
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
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...
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.