2
我有一個測試SQL Server數據庫,其中包含有關呼叫中心收到的呼叫的數據。每個調用都有一個時間戳,在我的測試數據庫中,我希望將一天添加到每行的時間戳字段中。我希望每天都使用預定的工作來完成這項工作,以使數據繼續看起來像從應用程序的角度來看是新鮮的。到目前爲止,我的工作似乎表現不佳,因爲這個過程不斷處於暫停狀態。我絕對不是SQL大師,我的感覺是,可能有更好的方法來做到這一點。有人可以幫我嗎?向SQL中的每一行添加1天
BEGIN TRANSACTION [CallMover]
declare @call_id int
declare @call_time DateTime
BEGIN TRY
select @call_id = MIN (ID) from Call
while @call_id is not null
begin
select @call_time = TimeStamp from Call where ID = @call_id
update [dbo].[Call] set TimeStamp = DATEADD(DAY, 1, @call_time)
select @call_id = MIN (ID) from Call where ID > @call_id
end
COMMIT TRANSACTION [CallMover]
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION [CallMover]
END CATCH
GO
表中有多少行? – 2014-10-03 14:44:35
爲什麼不簡單執行** update [dbo]。[調用]爲所有行設置TimeStamp = DATEADD(DAY,1,TimeStamp)** – Max 2014-10-03 14:46:17
大約有40,000行。 – 2014-10-03 14:46:57