USP_IDSETREGISTER_DELETEFORADHOCQUERY
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @ADHOCQUERYID | uniqueidentifier | IN | |
| @CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_IDSETREGISTER_DELETEFORADHOCQUERY]
(
@ADHOCQUERYID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null
)
with execute as caller
as
begin
set nocount on;
declare @ID uniqueidentifier;
declare @RESULT integer;
select
@ID = dbo.[IDSETREGISTER].[ID]
from dbo.[IDSETREGISTER]
inner join dbo.[IDSETREGISTERADHOCQUERY] on [IDSETREGISTER].[ID] = [IDSETREGISTERADHOCQUERY].[IDSETREGISTERID]
where [IDSETREGISTERADHOCQUERY].[ADHOCQUERYID] = @ADHOCQUERYID;
if @ID is not null
begin
if exists(select [ID] from dbo.[ADHOCQUERY] where dbo.[UFN_ADHOCQUERY_IDSETINUSE](@ID, [QUERYDEFINITIONXML]) = 1)
begin
raiserror('BBERR_IDSET_INUSEBYADHOCQUERY', 4, 44)
raiserror('ID set cannot be deleted because it is in use by another ad-hoc query.', 16, 1)
return 1;
end
if exists(select [ID] from dbo.[EXPORTDEFINITION] where dbo.[UFN_EXPORTDEFINITION_IDSETINUSE](@ID, [EXPORTDEFINITIONXML]) = 1)
begin
raiserror('BBERR_IDSET_INUSEBYEXPORTDEFINITION', 4, 44)
raiserror('ID set cannot be deleted because it is in use by an export definition.', 16, 1)
return 1;
end
end
exec @RESULT = dbo.[USP_IDSETREGISTER_DELETEBYID_WITHCHANGEAGENTID] @ID, @CHANGEAGENTID;
if @RESULT <> 0
return @RESULT;
return 0;
end