USP_USERSETTINGSSEARCHLISTTASKHISTORY_CREATEORUPDATE
Creates or updates a search list task history record.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@APPUSERID | uniqueidentifier | IN | |
@SEARCHLISTCATALOGID | uniqueidentifier | IN | |
@TASKCATALOGID | uniqueidentifier | IN | |
@PARAMETERS | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_USERSETTINGSSEARCHLISTTASKHISTORY_CREATEORUPDATE(
@ID uniqueidentifier = null output,
@APPUSERID uniqueidentifier,
@SEARCHLISTCATALOGID uniqueidentifier,
@TASKCATALOGID uniqueidentifier,
@PARAMETERS xml)
as
begin
declare @NOW datetime;
declare @EXISTINGID uniqueidentifier;
select @EXISTINGID = ID from dbo.USERSETTINGSSEARCHLISTTASKHISTORY
where APPUSERID = @APPUSERID
and SEARCHLISTCATALOGID = @SEARCHLISTCATALOGID
and TASKCATALOGID = @TASKCATALOGID;
set @NOW = getdate();
if @EXISTINGID is null
begin
if @ID is null
begin
set @ID = newid();
end;
insert into dbo.USERSETTINGSSEARCHLISTTASKHISTORY (
ID,
APPUSERID,
SEARCHLISTCATALOGID,
TASKCATALOGID,
PARAMETERS,
DATECHANGED)
values (
@ID,
@APPUSERID,
@SEARCHLISTCATALOGID,
@TASKCATALOGID,
@PARAMETERS,
@NOW);
-- Only keep the last 5 items.
delete from dbo.USERSETTINGSSEARCHLISTTASKHISTORY
where APPUSERID = @APPUSERID and ID not in
(select top(5) ID
from dbo.USERSETTINGSSEARCHLISTTASKHISTORY
where APPUSERID = @APPUSERID
order by DATECHANGED desc);
end
else
begin
set @ID = @EXISTINGID;
update dbo.USERSETTINGSSEARCHLISTTASKHISTORY
set PARAMETERS = @PARAMETERS,
DATECHANGED = @NOW
where ID = @EXISTINGID;
end;
end;