Bonjour,
Voila j'ai 2 tables Intervenant et intervenant_societe.
Lorsque je supprime une societe, je veut supprmer tous les interevants qui ne sont liés qu'à cette société. Plutôt simple à comprendre.

Pour cela j'utilise un trigger

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
CREATE TRIGGER  maj_inactif  ON [dbo].[SOCIETE] 
FOR UPDATE
AS
 
DECLARE @inactif as bit, @old_inactif as bit, @code_societe as int
 
SELECT @inactif = inactif, @code_societe = code_societe FROM inserted
 
SELECT @old_inactif = inactif FROM deleted
 
if (@inactif <> @old_inactif)
begin
 
	UPDATE INTERVENANT_SOCIETE SET inactif = 1
	WHERE  code_societe = @code_societe
 
	UPDATE INTERVENANT 
	SET inactif = 1
	FROM INTERVENANT
		INNER JOIN INTERVENANT_SOCIETE 
		ON (INTERVENANT_SOCIETE.reference_Adresses  = INTERVENANT.Reference_Adresses)
		WHERE INTERVENANT_SOCIETE.code_societe = @code_societe
		AND count(*) =1
		/*AND count(SELECT INTERVENANT_SOCIETE.reference_adresses FROM IS WHERE ref = @var*/
	/*WHERE reference_Adresses IN (SELECT INTERVENANT.reference_Adresses FROM INTERVENANT
					INNER JOIN INTERVENANT_SOCIETE 
					ON (INTERVENANT_SOCIETE.reference_Adresses = INTERVENANT.Reference_Adresses)
					AND count(INTERVENANT_SOCIETE.reference_Adresses) = 1
					)*/
 
		if @@error!=0
			begin
				rollback 
				return
			end
end
Mais j'ai l'erreur suivante peut importe la solution que j'essaie d'utiliser.
Si quelqu'un a une idée...
Merci d'avance.