Ciao a tutti, ho un trigger associato ad una tabella che dovrebbe aggiornare a cascata una tabella collegata.
Nel dettaglio (dalla griglia della web app) viene checkato un flag, automaticamente viene scatenato il trigger che applica il check alla tabella collegata
Codice PHP:
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[TR_Update]
on [dbo].[Corsi]
after update
as
/*
Se il è attivo, viene attivato per tutti i dipendenti
Se il è disattivo, viene disattivato per tutti i dipendenti
*/
begin
DECLARE @IDCorso int,
@Attivo bit
select @IDCorso=ID,
@Attivo = Attivo from inserted
if @Attivo = 1
begin
begin transaction;
update DipendentiCorsi
set Attivo = 1
where IDCorso=@IDCorso;
COMMIT TRANSACTION;
end
if @Attivo = 0
begin
begin transaction;
update DipendentiCorsi
set Attivo = 0
where IDCorso=@IDCorso;
COMMIT TRANSACTION;
end
end;
Funziona, ovvero se cambio il valore del flag, si aggiorna.
Il problema è che quando vado in edit del record Corsi e modifico altri valori (e salvo), viene (ovviamente) automaticamente lanciato il trigger apportando modifiche ai flag della tabella collegata (azione non richiesta).
Come posso fare?