SQL延时操作

--使用waitfor语句延迟或暂停程序的执行

--waitfor{delay‘time‘|time ‘time‘}

delay是指间隔时间 最长到24小时

time是指定时间执行

 

 

waitfor delay ‘00:00:10‘ --延迟10秒

A. 使用 WAITFOR TIME

以下示例在晚上 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

B. 使用 WAITFOR DELAY

以下示例在两小时的延迟后执行存储过程。

BEGIN
WAITFOR DELAY ‘02:00‘;
EXECUTE sp_helpdb;
END;
GO
这个延时平时不显山露水啊。但是在订阅同步时,或者数据量太大时,会出现问题。丢数据,或者表锁死啊。问题特别多,多余1条的都要考虑十分分批。多余5000肯定要分批了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。