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
Mais j'ai l'erreur suivante peut importe la solution que j'essaie d'utiliser.
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
Si quelqu'un a une idée...
Merci d'avance.
Partager