USP_SPONSORSHIPPROGRAM_DELETE

Deletes a sponsorship program from the database.

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_SPONSORSHIPPROGRAM_DELETE
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as begin
    declare @FUNCTIONID uniqueidentifier
    declare @FUNCTIONNAME nvarchar(128)
    declare @VIEWID uniqueidentifier
    declare @VIEWNAME nvarchar(128)

    select @FUNCTIONID = SPONSORSHIPPROGRAM.MATCHFUNCTIONID,
           @FUNCTIONNAME = SQLFUNCTIONCATALOG.FUNCTIONNAME,
           @VIEWID = SPONSORSHIPPROGRAM.QUERYVIEWID,
           @VIEWNAME = QUERYVIEWCATALOG.OBJECTNAME
    from dbo.SPONSORSHIPPROGRAM
    inner join dbo.SQLFUNCTIONCATALOG on SQLFUNCTIONCATALOG.ID = SPONSORSHIPPROGRAM.MATCHFUNCTIONID
    inner join dbo.QUERYVIEWCATALOG on QUERYVIEWCATALOG.ID = SPONSORSHIPPROGRAM.QUERYVIEWID
    where SPONSORSHIPPROGRAM.ID = @ID

    -- use the system generated delete routine to allow proper recording of the deleting agent

    begin try
        exec USP_SPONSORSHIPPROGRAM_DELETEBYID_WITHCHANGEAGENTID @ID, @CHANGEAGENTID

        exec ('drop function dbo.' + @FUNCTIONNAME)
        exec USP_SQLFUNCTIONCATALOG_DELETEBYID_WITHCHANGEAGENTID @FUNCTIONID, @CHANGEAGENTID

        exec ('drop view dbo.' + @VIEWNAME)
        exec USP_QUERYVIEWCATALOG_DELETEBYID_WITHCHANGEAGENTID @VIEWID, @CHANGEAGENTID
    end try
    begin catch
      exec dbo.USP_RAISE_ERROR;
      return 1;
    end catch
    return 0;

end