TR_COURSEGRADINGMARKINGCOLUMN_UPDATE_DELETESTUDENTGRADES

Definition

Copy


                    CREATE trigger TR_COURSEGRADINGMARKINGCOLUMN_UPDATE_DELETESTUDENTGRADES 
                    on dbo.COURSEGRADINGMARKINGCOLUMN                    
                    after update
                    not for replication
                    as begin
                        if update(GRADED)
                        begin

                            declare @ChangeAgentID uniqueidentifier
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENTFROMCONTEXT @ChangeAgentID output

                            --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 dbo.STUDENTMARKINGCOLUMNGRADE from dbo.STUDENTMARKINGCOLUMNGRADE                        
                            join deleted on STUDENTMARKINGCOLUMNGRADE.COURSEGRADINGMARKINGCOLUMNID = deleted.ID
                            join inserted on deleted.ID = inserted.ID                
                            where deleted.GRADED = 1 and inserted.GRADED = 0 

                            --Reset CONTEXT_INFO to previous value 

                            if not @CONTEXTCACHE is null 
                              set CONTEXT_INFO @CONTEXTCACHE;

                        end
                    end