Académique Documents
Professionnel Documents
Culture Documents
USE DSI2
begin transaction
declare @e int;
set @e=0 ;
Insert into absence values(2,'12-02-2019 10:30',1,1,'justifiée');
set @e+=@@error;
Update stagiaire
set TotalAbsence+=1
where idstagiaire=1
set @e+=@@ERROR;
If (@e=0)
commit;
else
rollback;
begin transaction
declare @e int;
set @e=0 ;
Insert into absence values(3,'12-03-2019 10:30',1,3,'Non
justifiée');
set @e+=@@error;
Update stagiaire
PROF RACHID OMARI
set TotalAbsence+=1
where idstagiaire=1
set @e+=@@ERROR;
If (@e=0)
commit;
else
rollback;
3) Create view V3
as (
select ids, count(*) as Nbreabsence
from absence
where Typeabsence='non justifiée'
group by ids )
select * from v3
5) select a1.ids
from absence a1,absence a2
where a1.idabs<>a2.idabs and a1.ids=a2.ids and
datediff(day,a1.dateAbs,a2.dateAbs)<15 and
datediff(day,a1.dateAbs,a2.DATEAbs)>=0
group by a1.ids
having count(a1.ids)>2
On a utilisé having count(a1.ids)>2 pour que le stagiaire soit être répéter plus de deux fois.
6) Create view V4
as (
select ids, count(*) as Nbreabsence
from absence
where Typeabsence='non justifiée'
group by ids )
SELECT * FROM V4
create view V5
as
select ids,count(*) as Nbre_absence
from Absence
where TypeAbsence ='justifiée'
PROF RACHID OMARI
group by ids
SELECT * FROM V5