sqlserver 延期执行sql

以下示例在晚上 10:20 (22:20) 执行存储过程 sp_update_jobUSE msdb;
EXECUTE sp_add_job @job_name='TestJob';
BEGIN     WAITFOR TIME '22:20';    
EXECUTE sp_update_job @job_name='TestJob',  @new_name='UpdatedJob';
END;
GO

以下示例在两小时的延迟后执行存储过程。注意:Delay最多不超过24小时

BEGIN    
WAITFOR DELAY '02:00';    
EXECUTE sp_helpdb;
END;
GO

USE AdventureWorks2008R2; GOIFOBJECT_ID('dbo.TimeDelay_hh_mm_ss','P') ISNOTNULL     DROPPROCEDURE dbo.TimeDelay_hh_mm_ss; GOCREATEPROCEDURE dbo.TimeDelay_hh_mm_ss     (     @DelayLengthchar(8)='00:00:00'     ) ASDECLARE@ReturnInfovarchar(255) IFISDATE('2000-01-01 '+@DelayLength+'.000') =0     BEGIN         SELECT@ReturnInfo='Invalid time '+@DelayLength         +',hh:mm:ss, submitted.';         -- This PRINT statement is for testing, not use in production.        PRINT@ReturnInfo         RETURN(1)     ENDBEGIN     WAITFOR DELAY @DelayLength     SELECT@ReturnInfo='A total time of '+@DelayLength+',         hh:mm:ss, has elapsed! Your time is up.'     -- This PRINT statement is for testing, not use in production.    PRINT@ReturnInfo; END; GO/* This statement executes the dbo.TimeDelay_hh_mm_ss procedure. */EXEC TimeDelay_hh_mm_ss '00:00:10'; GO

原文地址:https://www.cnblogs.com/i80386/p/2268939.html