USP_GLOBALCHANGE_SPONSORSHIPOPPORTUNITYUNRESERVE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHANGEAGENTID | uniqueidentifier | IN | |
@ASOF | datetime | IN | |
@NUMBERADDED | int | INOUT | |
@NUMBEREDITED | int | INOUT | |
@NUMBERDELETED | int | INOUT |
Definition
Copy
CREATE procedure dbo.USP_GLOBALCHANGE_SPONSORSHIPOPPORTUNITYUNRESERVE
(
@CHANGEAGENTID uniqueidentifier = null,
@ASOF as datetime = null,
@NUMBERADDED int = 0 output,
@NUMBEREDITED int = 0 output,
@NUMBERDELETED int = 0 output
)
as
set nocount off;
declare @SUCCESSCOUNT int
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate();
set @NUMBERADDED = 0;
set @NUMBEREDITED = 0;
set @NUMBERDELETED = 0;
set @SUCCESSCOUNT = 0;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
declare @KEYID uniqueidentifier;
declare @TempTbl table(ID uniqueidentifier)
insert into @TempTbl(ID)
select SPR.ID
from dbo.SPONSORSHIPOPPORTUNITYRESERVEPROCESS SPR
inner join dbo.SPONSORSHIPOPPORTUNITYRESERVATIONSTATUS SPS on SPS.OPPORTUNITYRESERVATIONKEYID = SPR.ID
where SPS.STATUSCODE = 1 and SPR.ENDDATE <= @CURRENTDATE
declare UNRESERVE_CURSOR cursor local fast_forward for
select ID from @TempTbl
open UNRESERVE_CURSOR;
fetch next from UNRESERVE_CURSOR into
@KEYID;
while (@@FETCH_STATUS = 0)
begin
exec dbo.USP_SPONSORSHIPOPPORTUNITY_UNRESERVE @KEYID, @CHANGEAGENTID, @SUCCESSCOUNT output;
set @NUMBEREDITED = @NUMBEREDITED + @SUCCESSCOUNT
fetch next from UNRESERVE_CURSOR into
@KEYID;
end
close UNRESERVE_CURSOR;
deallocate UNRESERVE_CURSOR;
return 0;
end try
begin catch
close UNRESERVE_CURSOR;
deallocate UNRESERVE_CURSOR;
exec dbo.USP_RAISE_ERROR;
return 1;
end catch