USP_MKTCONTACT_DELETE

Executes the "Marketing Contact: 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_MKTCONTACT_DELETE]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier
)
as
  set nocount on;

  declare @RELATIONSHIPID uniqueidentifier;

  if @CHANGEAGENTID is null
    exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;

  declare RELATIONSHIPS cursor local fast_forward for
    select [RELATIONSHIP].[ID] as [RELATIONSHIPID]
      from dbo.[RELATIONSHIP]
      inner join dbo.[VENDOR] on [VENDOR].[ID] = [RELATIONSHIP].[RELATIONSHIPCONSTITUENTID]
     where [RELATIONSHIP].[RECIPROCALCONSTITUENTID] = @ID
       and [RELATIONSHIP].[ISCONTACT] = 1;

  open RELATIONSHIPS;

  fetch next from RELATIONSHIPS into @RELATIONSHIPID;

  while (@@FETCH_STATUS = 0)
    begin
      exec dbo.[USP_RELATIONSHIP_DELETE] @RELATIONSHIPID, @CHANGEAGENTID;

      fetch next from RELATIONSHIPS into @RELATIONSHIPID;
    end;

  close RELATIONSHIPS;
  deallocate RELATIONSHIPS;

  begin try
    exec dbo.[USP_CONSTITUENT_DELETE] @ID, @CHANGEAGENTID;

  end try

  begin catch
    exec dbo.[USP_RAISE_ERROR];
    return 1;
  end catch

  return 0;