USP_FAFEVENTDATACACHE_ADD
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@EVENTID | uniqueidentifier | IN | |
@CACHEKEY | nvarchar(512) | IN | |
@DATA | xml | IN | |
@LIFESPANSECONDS | int | IN |
Definition
Copy
create procedure dbo.USP_FAFEVENTDATACACHE_ADD
(
@EVENTID uniqueidentifier,
@CACHEKEY nvarchar(512),
@DATA xml,
@LIFESPANSECONDS int
)
as
begin
declare @CHANGEAGENTID as uniqueidentifier;
declare @CURRENTDATE as datetime;
declare @EXPIRATIONDATE as datetime;
declare @ID as uniqueidentifier;
set @CURRENTDATE = getdate();
set @EXPIRATIONDATE = DATEADD(second, @LIFESPANSECONDS, @CURRENTDATE);
if @CHANGEAGENTID is null begin
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
end
set @ID = null;
select @ID = ID
from dbo.FAFEVENTDATACACHE
where EVENTID = @EVENTID and CACHEKEY = @CACHEKEY
if @ID is not null
begin
update dbo.FAFEVENTDATACACHE
set DATA = @DATA,
EXPIRATIONDATE = @EXPIRATIONDATE,
ISCALCULATING = 0,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
end
else
begin
begin try
insert into dbo.FAFEVENTDATACACHE(ID, EVENTID, CACHEKEY, DATA, EXPIRATIONDATE, ISCALCULATING, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values(NEWID(), @EVENTID, @CACHEKEY, @DATA, @EXPIRATIONDATE, 0, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end try
begin catch
-- do nothing
end catch
end
end