USP_MKTFINDERFILEIMPORTPROCESS_ROLLBACKIMPORT
Rollback all the changes made while importing a finder file, if the import fails.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FINDERFILEID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.[USP_MKTFINDERFILEIMPORTPROCESS_ROLLBACKIMPORT]
(
@FINDERFILEID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
as
set nocount on;
declare @SEGMENTATIONID uniqueidentifier;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
select
@SEGMENTATIONID = [SEGMENTATIONID]
from [MKTFINDERFILEIMPORTPROCESS]
where [ID] = @FINDERFILEID;
/**********************************/
/* Delete the imported records... */
/**********************************/
declare @SQL nvarchar(max);
declare @FINDERFILETABLE nvarchar(256);
set @FINDERFILETABLE = dbo.[UFN_MKTFINDERFILE_BUILDTABLENAME](@SEGMENTATIONID);
--Remove records from finder file table and drop table if it is empty
if exists(select 1 from INFORMATION_SCHEMA.TABLES where (TABLE_SCHEMA = 'dbo') and (TABLE_NAME = @FINDERFILETABLE))
begin
set @SQL = 'delete from [dbo].[' + @FINDERFILETABLE + '] where [FINDERFILEID] = @FINDERFILEID';
exec sp_executesql @SQL,N'@FINDERFILEID uniqueidentifier', @FINDERFILEID=@FINDERFILEID;
set @SQL = 'if not exists(select 1 from [dbo].[' + @FINDERFILETABLE + ']) drop table [dbo].[' + @FINDERFILETABLE + '];'
exec sp_executesql @SQL
end
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;