UFN_STUDENTPROGRESSION_ISUNIQUE
Student progression constraint that determines if a student progression already exists for an enrollment's student record with the same start and end dates.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STUDENTPROGRESSIONID | uniqueidentifier | IN | |
@STARTDATE | date | IN | |
@ENDDATE | date | IN |
Definition
Copy
CREATE function dbo.UFN_STUDENTPROGRESSION_ISUNIQUE(
@STUDENTPROGRESSIONID uniqueidentifier,
@STARTDATE date,
@ENDDATE date
)
returns bit
with execute as caller
as begin
declare @ISUNIQUE bit
set @ISUNIQUE = 1
select @ISUNIQUE = CASE WHEN COUNT(SP2.ID) > 0 THEN 0 ELSE 1 END
from
dbo.STUDENTPROGRESSION SP1
join dbo.EDUCATIONALHISTORY EH1 on SP1.ENROLLMENTID = EH1.ID
join dbo.SCHOOLGRADELEVEL SGL1 on SP1.SCHOOLGRADELEVELID = SGL1.ID
join dbo.EDUCATIONALHISTORY EH2 on EH1.CONSTITUENTID = EH2.CONSTITUENTID
join dbo.STUDENTPROGRESSION SP2 on EH2.ID = SP2.ENROLLMENTID
join dbo.SCHOOLGRADELEVEL SGL2 on SP2.SCHOOLGRADELEVELID = SGL2.ID
where
(SP1.ID = @STUDENTPROGRESSIONID and SP2.ID <> @STUDENTPROGRESSIONID) and
(SGL1.SCHOOLID = SGL2.SCHOOLID) and
(SP2.STARTDATE = @STARTDATE and SP2.ENDDATE = @ENDDATE)
return @ISUNIQUE
end