UFN_STUDENTPROGRESSION_CHECKVALIDDATES
Student progression constraint that determines if a student progression conflicts with the date range of other student progressions.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ENROLLMENTID | uniqueidentifier | IN | |
@STUDENTPROGRESSIONID | uniqueidentifier | IN | |
@STARTDATE | date | IN | |
@ENDDATE | date | IN |
Definition
Copy
create function dbo.UFN_STUDENTPROGRESSION_CHECKVALIDDATES(
@ENROLLMENTID uniqueidentifier,
@STUDENTPROGRESSIONID uniqueidentifier,
@STARTDATE date,
@ENDDATE date
)
returns bit
with execute as caller
as begin
declare @ISVALID bit
set @ISVALID = 1
select @ISVALID = CASE WHEN COUNT(dbo.STUDENTPROGRESSION.[ID]) > 0 THEN 0 ELSE 1 END
from
dbo.STUDENTPROGRESSION
where
(dbo.STUDENTPROGRESSION.[ENROLLMENTID] = @ENROLLMENTID) and
(dbo.STUDENTPROGRESSION.[ID] <> @STUDENTPROGRESSIONID) and
(
((@STARTDATE >= dbo.STUDENTPROGRESSION.[STARTDATE]) and (@STARTDATE <= dbo.STUDENTPROGRESSION.[ENDDATE]))
or
((@ENDDATE >= dbo.STUDENTPROGRESSION.[STARTDATE]) and (@ENDDATE <= dbo.STUDENTPROGRESSION.[ENDDATE]))
or
(@STARTDATE < dbo.STUDENTPROGRESSION.[STARTDATE] and @ENDDATE > STUDENTPROGRESSION.[ENDDATE])
)
return @ISVALID
end