35 lines
1.1 KiB
Transact-SQL
35 lines
1.1 KiB
Transact-SQL
CREATE PROCEDURE [dbo].[RecalcAggregations]
|
|
AS
|
|
|
|
declare @q table(ExchangeId int, CRTD_PairSymbol nvarchar(10), max_LastQuote datetime)
|
|
declare @TableName nvarchar(255)
|
|
|
|
insert into @q
|
|
select B.ExchangeId, B.CRTD_PairSymbol,max([CRTD_LastQuote]) as max_LastQuote
|
|
from CRT_Data_1Minute B (nolock)
|
|
where B.CRTD_Period>getdate()-7
|
|
group by B.ExchangeId, B.CRTD_PairSymbol
|
|
|
|
declare cTasks cursor local static for
|
|
select CRTT_TableName
|
|
from CRT_tasks with (nolock)
|
|
where CRTT_Name <> '1Minute'
|
|
and CRTT_IsActive = 1 and CRTT_Source_TableName <> ''
|
|
order by CRTT_ID
|
|
|
|
open cTasks
|
|
fetch next from cTasks into @TableName
|
|
while @@fetch_status = 0
|
|
begin
|
|
insert into CRT_LastQuote(ExchangeId, TableName,CRTD_PairSymbol,LAST_CRTD_Period,LastQuote)
|
|
select t.ExchangeId, @TableName, t.CRTD_PairSymbol, '2015-01-01', '2015-01-01'
|
|
from @q t
|
|
where not exists(select 1 from CRT_LastQuote where TableName = @TableName and CRTD_PairSymbol = t.CRTD_PairSymbol and ExchangeId = t.ExchangeId)
|
|
fetch next from cTasks into @TableName
|
|
end
|
|
close cTasks
|
|
deallocate cTasks
|
|
|
|
exec [dbo].[CRT_Agg_All_Except1Minute]
|
|
RETURN 0
|