如何查看查询数据是否在任何可能的时间发生了变化?

时间:2019-04-24 08:16:50

标签: sql-server

我正在构建一个项目,我需要从我的sql服务器从Oracle远程服务器获取数据,并且需要创建一个列表,并在远程服务器上刷新该数据时对这些数据进行一些计算。

目标是创建一个SQL作业,以在x时间运行,例如每天4h,8、12、16、20、24、4h,8 ...每天运行此过程

CREATE PROCEDURE GetAbastecimentosCalculados
AS
BEGIN

    DECLARE @Abastecimentos TABLE
    (
        Referencia varchar(50) NOT NULL,
        UAP varchar(30) NOT NULL,
        W01 float NOT NULL,
        W02 FLOAT NOT NULL,
        ConsumoDiarioW01 float NOT NULL,
        ConsumoDiarioW02 float NOT NULL,
        Stock float NOT NULL
    );

    INSERT INTO @Abastecimentos
    SELECT * FROM viewAbastecimentosStocks




    SELECT A.Referencia, A.UAP, A.W01, A.W02, A.ConsumoDiarioW01, A.ConsumoDiarioW02, A.Stock, 
        CONVERT(decimal(10,2), ConsumoDiarioW01 / P.NumPAB ) AS ConsumoPAB,  
        CONVERT(decimal(10,2), ConsumoDiarioW01 / P.NumPAB ) * P.QtdMin AS StockMin,  
        CONVERT(decimal(10,2), ConsumoDiarioW01 / P.NumPAB ) * P.QtdMax AS StockMax,
        CONVERT(decimal(10,2), ConsumoDiarioW01 / P.NumPAB ) * P.AlcanceAbastecimento AS QtdAbastecimento
    FROM @Abastecimentos A
    LEFT JOIN UAP U
    ON U.Nome = A.UAP
    LEFT JOIN Parametros P
    ON P.UAPId = U.Id
END

但是,我的客户告诉我它想在任何可能的时间运行它。除了添加手动刷新按钮外,我该如何处理?

我考虑过使用websocket在客户端可用时保持刷新数据,但这意味着我不知道它是如何工作的,例如...如果我必须每秒钟或类似的时间运行该查询。 / p>

或者是否有办法知道何时在远程服务器上刷新数据?就像在特定表上创建手表一样

编辑

请注意,我们无法访问远程服务器,只能读取数据

0 个答案:

没有答案