积极答复者
这个存储过程如何写?

问题
答案
-
use Tempdb go --> --> if not object_id(N'T') is null drop table T Go Create table T([Qty] int,[Date] Datetime) Insert T select 10,'2010-12-1' union all select 3,'2010-12-2' union all select 4,'2010-12-3' union all select 2,'2010-12-4' Go IF OBJECT_ID('P1') IS NOT NULL DROP PROCEDURE P1 go CREATE PROCEDURE P1 ( @Qty INT, @StartDate DATETIME, @EndDate DATETIME ) AS Select @Qty+(SELECT SUM([Qty]) FROM T WHERE [Date]<=a.[Date] AND [Date] BETWEEN @StartDate AND @EndDate)as [实际的量], a.Date AS 日期 from T AS a WHERE [Date] BETWEEN @StartDate AND @EndDate go EXEC P1 @Qty=100,--2010-12-01 实际的量 @StartDate='2010-12-2', @EndDate='2010-12-4' /* 实际的量 日期 103 2010-12-02 00:00:00.000 107 2010-12-03 00:00:00.000 109 2010-12-04 00:00:00.000 */
ROY WU(吳熹)- 已标记为答案 Mog Liang 2011年1月4日 5:15
全部回复
-
use Tempdb go --> --> if not object_id(N'T') is null drop table T Go Create table T([Qty] int,[Date] Datetime) Insert T select 10,'2010-12-1' union all select 3,'2010-12-2' union all select 4,'2010-12-3' union all select 2,'2010-12-4' Go IF OBJECT_ID('P1') IS NOT NULL DROP PROCEDURE P1 go CREATE PROCEDURE P1 ( @Qty INT, @StartDate DATETIME, @EndDate DATETIME ) AS Select @Qty+(SELECT SUM([Qty]) FROM T WHERE [Date]<=a.[Date] AND [Date] BETWEEN @StartDate AND @EndDate)as [实际的量], a.Date AS 日期 from T AS a WHERE [Date] BETWEEN @StartDate AND @EndDate go EXEC P1 @Qty=100,--2010-12-01 实际的量 @StartDate='2010-12-2', @EndDate='2010-12-4' /* 实际的量 日期 103 2010-12-02 00:00:00.000 107 2010-12-03 00:00:00.000 109 2010-12-04 00:00:00.000 */
ROY WU(吳熹)- 已标记为答案 Mog Liang 2011年1月4日 5:15