我有个需求 大概是这样的(每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
搞那麼複雜干啥呢?寫個計劃部就OK嗎?
sql作业。
可不可以用sql代理来做?
sql代理跟windows服务调度都可以的!
这种情况,一般都是用作业的