|
发表于 2021-3-1 21:00:02
|
显示全部楼层
除了大家所说的JOB执行,也可以通过下面的方式:
declare @Last_hour char(2)
select @Last_hour=convert(char(2),getdate(),108)
while 1=1 (循环执行,也可以通过访问某个全局变量、某个表参数来决定是否停止执行该过程)
begin
waitfor DELAY '00:00:10'--等待10秒钟
update L set L=L+CAST(rand()*1000 as INT) FROM 表。。 (其中的rand()*1000看情况自己定义)
IF @Last_hour<>convert(char(2),getdate(),108) 过了一个小时
BGEIN
生成一条的记录到表中
select @Last_hour=convert(char(2),getdate(),108)
END
end
这样,整点要执行的任务可能会相差0-10秒
不过,也可以把整点要执行的任务移出到另外一个过程执行,算法类似,可以减少时间误差 |
|