USP_EVENT_AUTOMATCHSITES_UPDATEFROMXML

Parameters

Parameter Parameter Type Mode Description
@EVENTID uniqueidentifier IN
@XML xml IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy



CREATE PROCEDURE dbo.USP_EVENT_AUTOMATCHSITES_UPDATEFROMXML   
(  
@EVENTID uniqueidentifier,  
@XML xml,  
@CHANGEAGENTID uniqueidentifier = null,  
@CHANGEDATE datetime = null  
)  

as  

set nocount on;  

if @CHANGEAGENTID is null  
 exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output  

if @CHANGEDATE is null   
 set @CHANGEDATE = getdate()  

    -- build a temporary table containing the values from the XML  

declare @TempTbl table (  
   [ID] uniqueidentifier,  
   [SITEID] uniqueidentifier,
   [HIERARCHYPATH] hierarchyid,
   [Sequence] int identity
   )  

insert into @TempTbl  (SITEID)
      SELECT     
      T.c.value('(SITEID)[1]','uniqueidentifier') AS 'SITEID' 
      FROM @XML.nodes('/SITES/ITEM') T(c)       


update @TempTbl set ID = newid() where (ID is null) or (ID = '00000000-0000-0000-0000-000000000000');  


declare @contextCache varbinary(128);  
declare @e int;  


-- delete any items  of current event  

delete from dbo.[EVENTAUTOMATCHSITE]  where [EVENTAUTOMATCHSITE].EVENTID= @EVENTID  

-- insert new items  

insert into [EVENTAUTOMATCHSITE]   
 ([EVENTID],   
    [ID],  
    [SITEID],      
 ADDEDBYID,   
 CHANGEDBYID,   
 DATEADDED,   
 DATECHANGED)  
select @EVENTID,   
    [ID],  
    [SITEID],   
 @CHANGEAGENTID,   
 @CHANGEAGENTID,   
 @CHANGEDATE,   
 @CHANGEDATE  
from @TempTbl as [temp]  


return 0;