【问题标题】:How to fetch new records in mssql database using stored procedures如何使用存储过程在 mssql 数据库中获取新记录
【发布时间】:2020-08-13 18:58:09
【问题描述】:

我有一个选择查询,我可以连接两个表来获取数据。我想每天运行查询并返回当天插入的最新行。

这是我正在使用的查询。我对存储过程很陌生。谁能帮助我如何使用它来获取新行。

select [dbo].[Archive1].id,[dbo].[Archive1].loadId,[dbo].[Archive2].costResponse
from [dbo].[Archive1],[dbo].[Archive2]
where [dbo].[Archive1].id = [dbo].[Archive2].transactionNumber;

【问题讨论】:

    标签: stored-procedures jdbc spring-jdbc mssql-jdbc


    【解决方案1】:

    我能够编写适用于我的用例的过程

    
        IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'getReport')
        DROP PROCEDURE getReport
        GO
        CREATE PROCEDURE getReport AS
        BEGIN
        DECLARE @nowLocal DATETIMEOFFSET = getDate() AT TIME ZONE 'UTC' AT TIME ZONE 'Central Standard Time'
        DECLARE @midnightLocal DATETIMEOFFSET = CONVERT(DATETIME2, CAST(@nowLocal as DATE)) AT TIME ZONE 'Central Standard Time'
        DECLARE @dayStart DATETIMEOFFSET = DATEADD(hh, -17, @midnightLocal)
        DECLARE @reportTime DATETIMEOFFSET = DATEADD(hh, 07, @midnightLocal)
        if @nowlocal < @reportTime
            SELECT @dayStart = DATEADD(d, -1, @dayStart)
        DECLARE @dayEnd DATETIMEOFFSET = DATEADD(ms, 86399999, @dayStart)
        select  @dayStart as dayStart, @dayEnd as dayEnd, @reportTime as reportTime, @midnightLocal as midnight
        select [dbo].[Archive1].id,[dbo].[Archive1].loadId,[dbo].[Archive2].costResponse
        from [dbo].[Archive1],[dbo].[Archive2]
        where [dbo].[Archive1].id = [dbo].[Archive2].transactionNumber
        BETWEEN @dayStart AT TIME ZONE 'Central Standard Time' AT TIME ZONE 'UTC' and @dayEnd AT TIME ZONE 'Central Standard Time' AT TIME ZONE 'UTC'
        END
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 2020-10-17
      相关资源
      最近更新 更多