有没有办法动态地将存储过程中的参数设置为查询结果?

时间:2016-01-19 19:36:03

标签: sql sql-server stored-procedures

我希望能够根据SQL查询的结果动态设置存储过程的参数。存储过程计算特定日期和今天之间的行进距离。对于数据库中的每条记录,该特定日期可能不同。 (日期在单独的存储过程中计算。)请参阅示例。 enter image description here

存储过程有两个参数:@DateFrom@DateTo@DateFrom应该是DateFrom列中的日期,正如您所看到的,每个记录都有不同的日期。有没有办法循环或某事,并将@DateFrom参数设置为每个记录的DateFrom列中的值? @DateTo将永远是今天的日期。任何帮助是极大的赞赏。

1 个答案:

答案 0 :(得分:0)

这是我从你的问题中得到的,这是我对帖子的第一个答案请原谅错别字或代码格式

vc

GO

USE tempdb
GO

IF OBJECT_ID(N'Tempdb.dbo.#DataTest') IS NULL
BEGIN
    CREATE TABLE #DataTest
    (
    ID INT IDENTITY
    ,Name VARCHAR(100)
    ,DateTo DATETIME
    ,DateFrom DATETIME
    )
END

GO

INSERT INTO #DataTest (Name,DateTo,DateFrom) VALUES ('DataValues1', '20151201',GETDATE() + 1)
INSERT INTO #DataTest (Name,DateTo,DateFrom) VALUES ('DataValues3', '20151203',GETDATE() + 2)
INSERT INTO #DataTest (Name,DateTo,DateFrom) VALUES ('DataValues5', '20151205',GETDATE() + 3)
INSERT INTO #DataTest (Name,DateTo,DateFrom) VALUES ('DataValues7', '20151207',GETDATE() + 4)
INSERT INTO #DataTest (Name,DateTo,DateFrom) VALUES ('DataValues9', '20151209',GETDATE() + 5)