USP_ACADEMICCATALOGDEGREE_DELETE

Executes the "Academic Catalog Degree: 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_ACADEMICCATALOGDEGREE_DELETE
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as
    set nocount on;

    if @CHANGEAGENTID is null
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @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 from dbo.ACADEMICCATALOGDEGREETYPE
    from dbo.ACADEMICCATALOGDEGREETYPE
    inner join ACADEMICCATALOGSUBDEPARTMENT 
        on ACADEMICCATALOGSUBDEPARTMENT.ID = ACADEMICCATALOGDEGREETYPE.ACADEMICCATALOGSUBDEPARTMENTID
    inner join ACADEMICCATALOGDEPARTMENT 
        on ACADEMICCATALOGDEPARTMENT.ID = ACADEMICCATALOGSUBDEPARTMENT.ACADEMICCATALOGDEPARTMENTID
    inner join dbo.ACADEMICCATALOGCOLLEGE
        on ACADEMICCATALOGCOLLEGE.ID = ACADEMICCATALOGDEPARTMENT.ACADEMICCATALOGCOLLEGEID
    where ACADEMICCATALOGCOLLEGE.ACADEMICCATALOGDEGREEID = @ID;

    delete from dbo.ACADEMICCATALOGDEGREETYPE
    from dbo.ACADEMICCATALOGDEGREETYPE
    inner join ACADEMICCATALOGDEPARTMENT 
        on ACADEMICCATALOGDEPARTMENT.ID = ACADEMICCATALOGDEGREETYPE.ACADEMICCATALOGDEPARTMENTID
    inner join dbo.ACADEMICCATALOGCOLLEGE
        on ACADEMICCATALOGCOLLEGE.ID = ACADEMICCATALOGDEPARTMENT.ACADEMICCATALOGCOLLEGEID
    where ACADEMICCATALOGCOLLEGE.ACADEMICCATALOGDEGREEID = @ID;

    delete from dbo.ACADEMICCATALOGDEGREETYPE
    from dbo.ACADEMICCATALOGDEGREETYPE
    inner join ACADEMICCATALOGSUBDEPARTMENT 
        on ACADEMICCATALOGSUBDEPARTMENT.ID = ACADEMICCATALOGDEGREETYPE.ACADEMICCATALOGSUBDEPARTMENTID
    inner join ACADEMICCATALOGDEPARTMENT 
        on ACADEMICCATALOGDEPARTMENT.ID = ACADEMICCATALOGSUBDEPARTMENT.ACADEMICCATALOGDEPARTMENTID
    inner join ACADEMICCATALOGDIVISION
        on ACADEMICCATALOGDIVISION.ID = ACADEMICCATALOGDEPARTMENT.ACADEMICCATALOGDIVISIONID
    inner join dbo.ACADEMICCATALOGCOLLEGE
        on ACADEMICCATALOGCOLLEGE.ID = ACADEMICCATALOGDIVISION.ACADEMICCATALOGCOLLEGEID
    where ACADEMICCATALOGCOLLEGE.ACADEMICCATALOGDEGREEID = @ID;

    delete from dbo.ACADEMICCATALOGDEGREETYPE
    from dbo.ACADEMICCATALOGDEGREETYPE
    inner join ACADEMICCATALOGDEPARTMENT 
        on ACADEMICCATALOGDEPARTMENT.ID = ACADEMICCATALOGDEGREETYPE.ACADEMICCATALOGDEPARTMENTID
    inner join ACADEMICCATALOGDIVISION
        on ACADEMICCATALOGDIVISION.ID = ACADEMICCATALOGDEPARTMENT.ACADEMICCATALOGDIVISIONID
    inner join dbo.ACADEMICCATALOGCOLLEGE
        on ACADEMICCATALOGCOLLEGE.ID = ACADEMICCATALOGDIVISION.ACADEMICCATALOGCOLLEGEID
    where ACADEMICCATALOGCOLLEGE.ACADEMICCATALOGDEGREEID = @ID;

    delete from dbo.ACADEMICCATALOGDEPARTMENT
    from dbo.ACADEMICCATALOGDEPARTMENT
    inner join ACADEMICCATALOGDIVISION
        on ACADEMICCATALOGDIVISION.ID = ACADEMICCATALOGDEPARTMENT.ACADEMICCATALOGDIVISIONID
    inner join dbo.ACADEMICCATALOGCOLLEGE
        on ACADEMICCATALOGCOLLEGE.ID = ACADEMICCATALOGDIVISION.ACADEMICCATALOGCOLLEGEID
    where ACADEMICCATALOGCOLLEGE.ACADEMICCATALOGDEGREEID = @ID;

    delete from dbo.ACADEMICCATALOGDEPARTMENT
    from dbo.ACADEMICCATALOGDEPARTMENT
    inner join dbo.ACADEMICCATALOGCOLLEGE
        on ACADEMICCATALOGCOLLEGE.ID = ACADEMICCATALOGDEPARTMENT.ACADEMICCATALOGCOLLEGEID
    where ACADEMICCATALOGCOLLEGE.ACADEMICCATALOGDEGREEID = @ID;

    --Reset CONTEXT_INFO to previous value 

    if not @CONTEXTCACHE is null 
      set CONTEXT_INFO @CONTEXTCACHE

    exec dbo.USP_ACADEMICCATALOGDEGREE_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID;
    return 0;