【发布时间】:2015-09-03 18:01:21
【问题描述】:
我有一个名为PersonalLedgerForTheiftFundAndShareClone 的表
我想在 2014-03-31 00:00:00.000 到 2015-03-31 00:00:00.000 的日期范围内得到 TInterest ( TheiftFundInterest ) 的总和 对于每个员工和然后使用日期为 2015-03-31 00:00:00.000 的特定员工的 Sum 更新 TInterest。
我已经写了一个存储过程来完成这个任务,但是不能得到想要的结果。
CREATE PROCEDURE UpdateTheiftFundInterest
AS
DECLARE @var1 VARCHAR(50), @var3 CURSOR, @var4 INT
SET @var1 = 0;
SET @var3 = CURSOR FOR
SELECT EmNo FROM [WBSEB].[dbo].[PersonalLedgerForTFundAndShareClone]
OPEN @var3
FETCH NEXT
FROM @var3 INTO @var1
WHILE @@FETCH_STATUS = 0
BEGIN
SET @var4 = 0;
SELECT @var4=SUM(TInterest)
FROM [WBSEB].[dbo].[PersonalLedgerForTFundAndShareClone]
WHERE TDate >= '2014-03-31 00:00:00.000' AND TDate <= '2015-03-31 00:00:00.000'
AND EmNo = @var1
UPDATE [WBSEB].[dbo].[PersonalLedgerForTFundAndShareClone]
SET TInterest = @var4
Where TDate = '2015-03-31 00:00:00.000' AND EmNo = @var1
FETCH NEXT
FROM @var3 INTO @var1
END
CLOSE @var3
DEALLOCATE @var3
GO
谁能告诉我我做错了什么?
【问题讨论】:
标签: sql-server database tsql stored-procedures