CREATE TRIGGER tg_add_TR ON dbo.COMMUN_TACHESRECFOR INSERTAS--idappli,horaire,IDCriticite,Titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure-- VariablesSET DATEFORMAT MDYdeclare @Id_TR varchar(10)declare @Grp_Interv as varchar(10)declare @count integerdeclare @jour as varchar(10)declare @idappli as integerdeclare @horaire as varchar(10)declare @idcriticite as integerdeclare @titre as nvarchar(125)declare @detail nvarchar(16)declare @code_duree as integerdeclare @IDTYPE_NIV1 as integerdeclare @IDTYPE_NIV2 as integerdeclare @ActionPB nvarchar(16)declare @URL_PROCEDURE as nvarchar(300)--Variable inseréesset @Id_TR=(select id from inserted)set @Grp_Interv=(select GRPINTERV from inserted)set @idappli=(select idappli from inserted)set @horaire=(select horaire from inserted)set @idcriticite=(select idcriticite from inserted)set @titre=(select titre from inserted)set @detail=(select detail from inserted)set @code_duree=(select code_duree from inserted)set @IDTYPE_NIV1=(select IDTYPE_NIV1 from inserted)set @IDTYPE_NIV2=(select IDTYPE_NIV2 from inserted)set @ActionPB=(select ActionPB from inserted)set @URL_PROCEDURE=(select URL_PROCEDURE from inserted)-- Verif TR hebdoset @count = 1while (@count <6)begin set @jour=DatePart(dw,getdate()+@count) -- Lundi if (select lundi from COMMUN_TACHESREC where id=@Id_TR)=1 if @jour=1 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) -- Mardi if (select mardi from COMMUN_TACHESREC where id=@Id_TR)=1 if @jour=2 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) -- Mercredi if (select mercredi from COMMUN_TACHESREC where id=@Id_TR)=1 if @jour=3 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) -- Jeudi if (select jeudi from COMMUN_TACHESREC where id=@Id_TR)=1 if @jour=4 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) -- Vendredi if (select vendredi from COMMUN_TACHESREC where id=@Id_TR)=1 if @jour=5 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) -- Samedi if (select samedi from COMMUN_TACHESREC where id=@Id_TR)=1 if @jour=6 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) -- Dimanche if (select dimanche from COMMUN_TACHESREC where id=@Id_TR)=1 if @jour=7 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) set @count = @count + 1 END-- Verif TR mensuelleset @count = 1while (@count < 6)begin set @jour=DatePart(d,getdate()+@count) if (select count(id) from COMMUN_TACHESREC where id=@Id_TR AND (date_mensuelle like @jour+',%' or date_mensuelle like '%,'+@jour+',%' or date_mensuelle like '%,'+@jour)) != 0 insert into HISTO_TAC (IDTACHESREC,DT_CRE,GRPINTERV,RAS,PB,DPL,idappli,horaire,idcriticite,titre,detail,code_duree,IDType_Niv1, IDType_Niv2,ActionPB, URL_Procedure) VALUES (@Id_TR,convert(varchar(10),getdate()+@count,120),@Grp_Interv,0,0,0,@idappli,@horaire,@idcriticite,@titre,@detail,@code_duree,@IDTYPE_NIV1,@IDTYPE_NIV2,@ActionPB,@URL_PROCEDURE) set @count = @count + 1END