TR_CLASSCATEGORY_IUD
Definition
Copy
CREATE trigger TR_CLASSCATEGORY_IUD on dbo.CLASSCATEGORY for insert, update, delete not for replication as
begin
set nocount on;
begin try
if exists(
select CLASS.ID
from dbo.CLASS
left outer join dbo.CLASSCATEGORY on CLASS.ID = CLASSCATEGORY.CLASSID
where (CLASS.ID in (select CLASSID from INSERTED) or CLASS.ID in (select CLASSID from DELETED)) and (CLASS.USECATEGORYPERCENTAGES = 1)
group by CLASS.ID
having SUM(CLASSCATEGORY.TOTALGRADEPERCENTAGE) != 100
)
raiserror('BBERR_CLASSCATEGORY_PERCENTAGESNOTEQUALHUNDRED', 13,1);
if exists(
select CLASS.ID
from dbo.CLASS
left outer join dbo.CLASSCATEGORY on CLASS.ID = CLASSCATEGORY.CLASSID
where (CLASS.ID in (select CLASSID from INSERTED) or CLASS.ID in (select CLASSID from DELETED)) and (CLASS.USECATEGORYPERCENTAGES = 0)
and CLASSCATEGORY.TOTALGRADEPERCENTAGE <> 0
)
raiserror('BBERR_CLASSCATEGORY_PERCENTAGESNONZERO', 13,1);
if exists(
select CLASS.ID
from dbo.CLASS
left outer join dbo.CLASSCATEGORY on CLASS.ID = CLASSCATEGORY.CLASSID
where (CLASS.ID in (select CLASSID from INSERTED) or CLASS.ID in (select CLASSID from DELETED)) and (CLASS.USECATEGORYPERCENTAGES = 0)
and CLASSCATEGORY.AVERAGINGMETHODCODE = 2
)
raiserror('BBERR_CLASSCATEGORY_AVERAGINGNMETHODINVALID', 13,1);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
end catch
end