UFN_ACADEMICYEARS_OVERLAP
Make sure that this academic year does not overlap with another academic year in the same school.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ACADEMICYEARID | uniqueidentifier | IN | |
@STARTDATE | date | IN | |
@ENDDATE | date | IN | |
@SCHOOLID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_ACADEMICYEARS_OVERLAP
(
@ACADEMICYEARID uniqueidentifier,
@STARTDATE date,
@ENDDATE date,
@SCHOOLID uniqueidentifier
)
returns bit
as begin
-- Assume we will not have an overlap
declare @RETVAL int = 0;
-- see if a year exists
if (exists (select ACADEMICYEAR.ID
from ACADEMICYEAR
where (ACADEMICYEAR.ID <> @ACADEMICYEARID) and
(ACADEMICYEAR.SCHOOLID = @SCHOOLID) and
((ACADEMICYEAR.STARTDATE between @STARTDATE AND @ENDDATE) or
(ACADEMICYEAR.ENDDATE between @STARTDATE AND @ENDDATE) or
((ACADEMICYEAR.STARTDATE <= @STARTDATE) and (ACADEMICYEAR.ENDDATE >= @ENDDATE)))))
set @RETVAL = 1;
return @RETVAL;
end