' Declencheurs de tables                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

 ' Call UnSetTableADODBCHECKConstraint("ETUDIANT")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
' Call UnSetTableADODBCHECKConstraint("CONTROLE")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
' Call SetTableADODBCHECKConstraint("ETUDIANT", "AS
DECLARE Result boolean;
begin
Result = false;
SELECT COUNT(*)<>0 FROM ETUDIANT INNER JOIN ETUDIANT AS ETUDIANT_1 ON ETUDIANT.NUMETUBI = ETUDIANT_1.NUMETU WHERE ETUDIANT_1.NUMETUBI<>ETUDIANT.NUMETU into :Result;

IF (Result) then
EXCEPTION BADSTUDENTREFERENCE ;

end")                                                                                                                                                                                                                                                                                                             
' Call SetTableADODBCHECKConstraint("CONTROLE", "AS
DECLARE Result boolean;
begin
Result = false;
SELECT COUNT(*)<>0 FROM "CONTROLE" C1, "CONTROLE" C2 
WHERE C1."DTCONTROLE"=C2."DTCONTROLE" AND C1."HRCONTROLE"<>C2."HRCONTROLE" AND (((
C1."HRCONTROLE" < dateadd (minute, C2."DUREECONTROLE", C2."HRCONTROLE")) AND (C1."HRCONTROLE" >= C2."HRCONTROLE")) OR ((dateadd (minute, C1."DUREECONTROLE", C1."HRCONTROLE") <= dateadd (minute, C2."DUREECONTROLE", C2."HRCONTROLE")) AND (dateadd (minute, C1."DUREECONTROLE", C1."HRCONTROLE") > C2."HRCONTROLE"
))) into :Result;
IF (Result) then
EXCEPTION EXAMINATIONOVERLAPING; 
end") 

 