首页 新闻 会员 周边 捐助

T-SQL 定期删除数据

0
悬赏园豆:20 [待解决问题]

我有个需求 大概是这样的(每5秒钟会从另一方接收数据 然后插入到数据库 并删除两个小时之前的数据 也就是说每隔5秒钟都会一条数据执行一个删除和和插入操作 如果是是1000条数据 就是操作数据库2000次 我就想把删除改了 改成每一次删除2小时后就自动删除 每一次都以上一次删除的时间为起点 请大家帮我看看 多谢了!)

create proc p_Insert_ZhongTai_Crane_ProvisionalData(
@CraneName nvarchar(8), --名字
@CraneCount int, --记录次数
@CraneWeight float, --记录重量
@CraneNominalWeight float, --额定重量
@CraneRate int , --倍率
@CraneMargin int , --幅度
@CraneMinimumMargin int , --最小幅度
@CraneMostMargin int ,--最大幅度
@CraneHeight float , --高度
@CraneTowerHeight float , --塔高
@CraneWindVelocity int , --风速
@CraneCarSpeed NVARCHAR(50), --小车速度
@CraneLiftingSpeed NVARCHAR(50) , --提升速度
@CraneRotationAngle int, --回转角度
@CraneXAngle int , --X轴倾角
@CraneYAngle int , --Y轴倾角
@IsWarning bit , --是否报警
@Received datetime --接收时间
)
AS
BEGIN
begin tran TranStart
save tran FirstPoint
delete from ZhongTai_Crane_PermanentData where DATEDIFF(hh,Received,GETDATE())>2 and CraneName = @CraneName --删除两个小时前得数据
insert into ZhongTai_Crane_ProvisionalData (字段)
values (插入的值)
if @@ERROR <> 0
begin
rollback tran FirstPoint
end
commit tran TranStart
END
GO
zhuakelly的主页 zhuakelly | 初学一级 | 园豆:130
提问于:2011-04-25 16:29
< >
分享
所有回答(5)
0

搞那麼複雜干啥呢?寫個計劃部就OK嗎?

soarfe | 园豆:146 (初学一级) | 2011-04-25 16:50
0

sql作业。

顾晓北 | 园豆:10893 (专家六级) | 2011-04-25 17:46
0

可不可以用sql代理来做?

死白的man | 园豆:2135 (老鸟四级) | 2011-04-25 17:46
0

sql代理跟windows服务调度都可以的!

xp_Tiffany | 园豆:305 (菜鸟二级) | 2011-04-26 08:45
0

这种情况,一般都是用作业的

_Zerg | 园豆:455 (菜鸟二级) | 2011-04-26 13:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册