USP_CUSTOMFORMENTRY_BULKDELETE

Parameters

Parameter Parameter Type Mode Description
@XML xml IN
@CurrentUsersID int IN

Definition

Copy


CREATE procedure dbo.USP_CUSTOMFORMENTRY_BULKDELETE(@XML xml, @CurrentUsersID int)
AS        
  BEGIN TRAN        
    set nocount on

  declare @CUSTOMFORMENTRYIDS table (ENTRYID int)
  insert into @CUSTOMFORMENTRYIDS select IDS.ID.value('.', 'int') from @XML.nodes('/CustomFormEntry/id') IDS(ID)

  declare @CONTEXTCACHE varbinary(128); 
  set @CONTEXTCACHE = CONTEXT_INFO(); 

  declare @CHANGEAGENTID uniqueidentifier
  exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
  set CONTEXT_INFO @CHANGEAGENTID

  delete SALESORDERITEM from dbo.SALESORDERITEM
  inner join dbo.CustomFormEntry on SALESORDERITEM.DATA.value('(/CustomFormEntry/EntryID/text())[1]', 'uniqueidentifier') = CustomFormEntry.EntryID
  inner join @CUSTOMFORMENTRYIDS CFEI on CustomFormEntry.ID=CFEI.ENTRYID 
  where SALESORDERITEM.TYPECODE = 17

  if not @CONTEXTCACHE is null 
    set CONTEXT_INFO @CONTEXTCACHE;

  delete CustomFormEntry from dbo.CustomFormEntry inner join @CUSTOMFORMENTRYIDS CFEI on CustomFormEntry.ID=CFEI.ENTRYID 

  COMMIT TRAN