USP_IMPORTSELECTIONPROCESS_DELETE
Executes the "Import Selection: 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_IMPORTSELECTIONPROCESS_DELETE]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
set nocount on;
declare @IDSETREGISTERID uniqueidentifier;
declare @IDSETTABLENAME nvarchar(128);
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
select
@IDSETREGISTERID = [IDSETREGISTER].[ID],
@IDSETTABLENAME = [IDSETREGISTER].[DBOBJECTNAME]
from dbo.[IMPORTSELECTIONPROCESS]
left join dbo.[IDSETREGISTER] on [IDSETREGISTER].[ID] = [IMPORTSELECTIONPROCESS].[IDSETREGISTERID]
where [IMPORTSELECTIONPROCESS].[ID] = @ID;
--Check if the selection is in use by an ad-hoc query...
if exists(select 1 from dbo.[ADHOCQUERY] where dbo.[UFN_ADHOCQUERY_IDSETINUSE](@IDSETREGISTERID, [QUERYDEFINITIONXML]) = 1)
begin
raiserror('BBERR_IDSET_INUSEBYADHOCQUERY', 4, 44);
raiserror('Selection cannot be deleted because it is in use by an ad-hoc query.', 16, 1);
return 1;
end
--Delete the import selection process record...
exec dbo.[USP_IMPORTSELECTIONPROCESS_DELETEBYID_WITHCHANGEAGENTID] @ID, @CHANGEAGENTID;
--Delete the IDSet afterwards because of foreign key constraints...
exec dbo.[USP_IDSET_DELETESTATICTABLE] @IDSETTABLENAME;
exec dbo.[USP_IDSETREGISTER_DELETEBYID_WITHCHANGEAGENTID] @IDSETREGISTERID, @CHANGEAGENTID;
return 0;