USP_MARKINGCOLUMN_DELETE
Executes the "Marking Column Delete" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being deleted. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the delete. |
Definition
Copy
CREATE procedure dbo.USP_MARKINGCOLUMN_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
--delete marking columns if no grades exist and not marked as graded on any course
if not exists(
select COURSEGRADINGMARKINGCOLUMN.ID from dbo.COURSEGRADINGMARKINGCOLUMN
left join dbo.STUDENTMARKINGCOLUMNGRADE on COURSEGRADINGMARKINGCOLUMN.ID = STUDENTMARKINGCOLUMNGRADE.COURSEGRADINGMARKINGCOLUMNID
where COURSEGRADINGMARKINGCOLUMN.MARKINGCOLUMNID = @ID and
(COURSEGRADINGMARKINGCOLUMN.GRADED > 0 or STUDENTMARKINGCOLUMNGRADE.ID is not null))
begin
--Cache current context information
declare @CONTEXTCACHE varbinary(128);
set @CONTEXTCACHE = CONTEXT_INFO();
--Set CONTEXT_INFO to @CHANGEAGENTID
if @CHANGEAGENTID is not null
set CONTEXT_INFO @CHANGEAGENTID;
delete from dbo.COURSEGRADINGMARKINGCOLUMN where COURSEGRADINGMARKINGCOLUMN.MARKINGCOLUMNID = @ID
--Reset CONTEXT_INFO to previous value
if not @CONTEXTCACHE is null
set CONTEXT_INFO @CONTEXTCACHE;
end
-- use the system generated delete routine to allow proper recording of the deleting agent
exec USP_MARKINGCOLUMN_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID
return 0;
end