Stored procedures 如何使用存储过程获取mssql数据库中的新记录

Stored procedures 如何使用存储过程获取mssql数据库中的新记录,stored-procedures,jdbc,spring-jdbc,mssql-jdbc,Stored Procedures,Jdbc,Spring Jdbc,Mssql Jdbc,我有一个select查询,我可以连接两个表来获取数据。我想每天运行查询并返回当天插入的最新行 这是我正在使用的查询。我对存储过程非常陌生。有人能帮我吗?我怎样才能用它来取新行 select [dbo].[Archive1].id,[dbo].[Archive1].loadId,[dbo].[Archive2].costResponse from [dbo].[Archive1],[dbo].[Archive2] where [dbo].[Archive1].id = [dbo].[Archive

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

这是我正在使用的查询。我对存储过程非常陌生。有人能帮我吗?我怎样才能用它来取新行

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

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


    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


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


    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