USP_ODATAQUERYRUNINFO_ADDORUPDATE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@QUERYID | uniqueidentifier | IN | |
@LASTRUNDATE | date | IN | |
@LASTRUNDURATION | time | IN | |
@LASTRUNBY | uniqueidentifier | IN | |
@LASTRUNRESULTCOUNT | int | IN |
Definition
Copy
CREATE procedure dbo.USP_ODATAQUERYRUNINFO_ADDORUPDATE
(
@QUERYID as uniqueidentifier,
@LASTRUNDATE as date,
@LASTRUNDURATION as time,
@LASTRUNBY as uniqueidentifier,
@LASTRUNRESULTCOUNT as int
)
as
begin
if exists (select 1 from dbo.[ADHOCQUERY] where [ID] = @QUERYID union all select 1 from dbo.[SMARTQUERYINSTANCE] where [ID] = @QUERYID)
begin
merge dbo.[ODATAQUERYRUNINFO] as target
using (select @QUERYID as [QUERYID], @LASTRUNDATE as [LASTRUNDATE], @LASTRUNDURATION as [LASTRUNDURATION], @LASTRUNBY as [LASTRUNBY], @LASTRUNRESULTCOUNT as [LASTRUNRESULTCOUNT]) as source
on target.[QUERYID] = source.[QUERYID]
when matched then
update set
target.[LASTRUNDATE] = source.[LASTRUNDATE],
target.[LASTRUNDURATION] = source.[LASTRUNDURATION],
target.[LASTRUNBY] = source.[LASTRUNBY],
target.[LASTRUNRESULTCOUNT] = source.[LASTRUNRESULTCOUNT],
target.[RUNCOUNT] = target.[RUNCOUNT] + 1
when not matched by target then
insert (
[QUERYID],
[LASTRUNDATE],
[LASTRUNDURATION],
[LASTRUNBY],
[LASTRUNRESULTCOUNT],
[RUNCOUNT]
)
values (
source.[QUERYID],
source.[LASTRUNDATE],
source.[LASTRUNDURATION],
source.[LASTRUNBY],
source.[LASTRUNRESULTCOUNT],
1
);
end
end