以下示例在晚上 10:20 (22:20
) 执行存储过程 sp_update_job
。USE 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