spMarkSurveyResponsesAsProcessed
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ResponseXml | ntext | IN | |
@DeleteResponsesXml | ntext | IN | |
@REProcessed | bit | IN | |
@EEProcessed | bit | IN |
Definition
Copy
CREATE procedure [dbo].[spMarkSurveyResponsesAsProcessed](@ResponseXml as ntext, @DeleteResponsesXml as ntext, @REProcessed AS bit = 0, @EEProcessed AS bit = 0)
as
begin
set nocount on
declare @iDoc int
exec sp_xml_preparedocument @idoc output, @ResponseXml
update dbo.SiteSurveyResponses
set ProcessedDate = getutcdate(),
REProcessed =
CASE WHEN (REProcessed = 0) THEN @REProcessed
ELSE REProcessed END,
EEProcessed =
CASE WHEN (EEProcessed = 0) THEN @EEProcessed
ELSE EEProcessed END
where exists (select id from OPENXML(@idoc, '/responses/r', 1)
with (id integer)
where id = SiteSurveyResponses.Id)
exec sp_xml_removedocument @idoc
declare @surveys table ([SiteSurveysId] [int] not null,
[ClientSitesId] [int] not null,
[DeleteDate] [datetime] null)
exec sp_xml_preparedocument @idoc output, @DeleteResponsesXml
insert into @surveys (SiteSurveysId, ClientSitesId, DeleteDate)
select id, cid, dt
from OPENXML(@idoc, 'rpdel/s', 1)
with (id int, cid int, dt datetime)
exec sp_xml_removedocument @idoc
delete SiteSurveyResponsesDeleteTransactions
from dbo.SiteSurveyResponsesDeleteTransactions a
inner join @surveys b
on a.SiteSurveysId = b.SiteSurveysId
and a.ClientSitesId = b.ClientSitesId
and a.DeleteDate = b.DeleteDate
end