USP_AUCTIONITEMBATCH_DELETE
Executes the "Auction Item Batch Row: 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_AUCTIONITEMBATCH_DELETE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as
set nocount on;
declare @CONTEXTCACHE varbinary(128);
begin try
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CONTEXTCACHE = CONTEXT_INFO();
if not @CHANGEAGENTID is null
set CONTEXT_INFO @CHANGEAGENTID;
declare @DELETECONSTITUENTS table
(
CONSTITUENTID uniqueidentifier
);
insert into @DELETECONSTITUENTS(CONSTITUENTID)
select BATCHAUCTIONITEMCONSTITUENT.ID
from dbo.BATCHAUCTIONITEMCONSTITUENT
where BATCHAUCTIONITEMCONSTITUENT.ID in
(
select
[AUCTIONITEMCONSTITUENT].ID
from dbo.BATCHAUCTIONITEMCONSTITUENT as [AUCTIONITEMCONSTITUENT]
inner join dbo.BATCHAUCTIONITEM on BATCHAUCTIONITEM.CONSTITUENTID = [AUCTIONITEMCONSTITUENT].ID
where BATCHAUCTIONITEM.ID = @ID
)
and not BATCHAUCTIONITEMCONSTITUENT.ID in
(
select
[AUCTIONITEMCONSTITUENT].ID
from dbo.BATCHAUCTIONITEMCONSTITUENT as [AUCTIONITEMCONSTITUENT]
inner join dbo.BATCHAUCTIONITEM on BATCHAUCTIONITEM.CONSTITUENTID = [AUCTIONITEMCONSTITUENT].ID
where BATCHAUCTIONITEM.ID != @ID
)
delete dbo.BATCHAUCTIONITEMCONSTITUENTRELATION
where CONSTITUENTID in (select CONSTITUENTID from @DELETECONSTITUENTS)
or RELATIONID in (select CONSTITUENTID from @DELETECONSTITUENTS);
delete dbo.BATCHAUCTIONITEMCONSTITUENTGROUPMEMBER
where GROUPID in (select CONSTITUENTID from @DELETECONSTITUENTS)
or MEMBERID in (select CONSTITUENTID from @DELETECONSTITUENTS);
delete dbo.BATCHAUCTIONITEMCONSTITUENT
where ID in (select CONSTITUENTID from @DELETECONSTITUENTS);
delete dbo.BATCHAUCTIONITEM where ID = @ID;
if not @CONTEXTCACHE is null
set CONTEXT_INFO @CONTEXTCACHE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
if not @CONTEXTCACHE is null
set CONTEXT_INFO @CONTEXTCACHE;
return 1;
end catch
return 0;