我需求生成一个从一个开始时间起,每到了一个整数点(例如13点,14点)就生成一条的记录到表中,,记录中的一个字段是一个累计数的字段,L每隔十秒钟这个累计数的字段就就自动的累加一个随机数,并且写库,不希望借助页新页面来实现,而是通过SQL自起来运行

解决方案 »

  1.   

    除了大家所说的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秒
    不过,也可以把整点要执行的任务移出到另外一个过程执行,算法类似,可以减少时间误差