USE [QPTreasureDB]
GO
/****** Object: StoredProcedure [dbo].[GSP_GR_TransferData] Script Date: 07/16/2012 11:48:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER PROCEDURE [dbo].[GSP_GR_TransferData]
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRANSACTION
DECLARE @errorSum int
INSERT INTO [QPTreasureDB].[dbo].[RecordGameDuplicate]([UserID]
,[Score]
,[Revenue]
,[KindID]
,[ServerID]
,[RoomName]
,[tableID]
,[ScoreKind]
,[ClientIP]
,[RTime])
SELECT [UserID]
,[Score]
,[Revenue]
,[KindID]
,[ServerID]
,[RoomName]
,[tableID]
,[ScoreKind]
,[ClientIP]
,[RTime]
FROM [QPTreasureDB].[dbo].[RecordGame]
WHERE datediff(week,[RTime],getdate()-1)>0
set @errorSum=@errorSum+@@error
DELETE FROM [QPTreasureDB].[dbo].[RecordGame]
WHERE datediff(week,[RTime],getdate()-1)>0
set @errorSum=@errorSum+@@error
if @errorSum>0
begin
print '数据转移失败,回滚事务.'
rollback transaction
end
else
begin
print '数据转移成功,提交事务,写入硬盘,永久保存!'
commit transaction
end
END这个存储过程放在作业里应该是转移的一个礼拜之前的数据,但是我写的这个是转移了一天之前的数据.
求各位帮我看看哪里出问题了.
GO
/****** Object: StoredProcedure [dbo].[GSP_GR_TransferData] Script Date: 07/16/2012 11:48:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER PROCEDURE [dbo].[GSP_GR_TransferData]
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRANSACTION
DECLARE @errorSum int
INSERT INTO [QPTreasureDB].[dbo].[RecordGameDuplicate]([UserID]
,[Score]
,[Revenue]
,[KindID]
,[ServerID]
,[RoomName]
,[tableID]
,[ScoreKind]
,[ClientIP]
,[RTime])
SELECT [UserID]
,[Score]
,[Revenue]
,[KindID]
,[ServerID]
,[RoomName]
,[tableID]
,[ScoreKind]
,[ClientIP]
,[RTime]
FROM [QPTreasureDB].[dbo].[RecordGame]
WHERE datediff(week,[RTime],getdate()-1)>0
set @errorSum=@errorSum+@@error
DELETE FROM [QPTreasureDB].[dbo].[RecordGame]
WHERE datediff(week,[RTime],getdate()-1)>0
set @errorSum=@errorSum+@@error
if @errorSum>0
begin
print '数据转移失败,回滚事务.'
rollback transaction
end
else
begin
print '数据转移成功,提交事务,写入硬盘,永久保存!'
commit transaction
end
END这个存储过程放在作业里应该是转移的一个礼拜之前的数据,但是我写的这个是转移了一天之前的数据.
求各位帮我看看哪里出问题了.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货